求助,运行官方实例出现java.lang.IllegalAccessError

发布于 2021-11-27 03:16:56 字数 4245 浏览 777 评论 6

在java1.7且 不使用Maven,导入 http://webmagic.io/download.html 中0.5.2的所有jar包的情况下,运行http://webmagic.io/docs/zh/posts/ch2-install/first-project.html 中的实例,结果报出以下错误,不知是什么原因呢?在网上搜索,就搜到一个提问的,却没找到对应的答案,只好向此处求助下

主要:

Exception in thread "pool-1-thread-1" java.lang.IllegalAccessError: class com.google.common.collect.StandardTable$RowMap cannot access its superclass com.google.common.collect.Maps$ImprovedAbstractMap

详细:

二月 12, 2016 11:50:02 下午 us.codecraft.webmagic.Spider run
信息: Spider github.com started!
二月 12, 2016 11:50:02 下午 us.codecraft.webmagic.downloader.HttpClientDownloader download
信息: downloading page https://github.com/code4craft
Exception in thread "pool-1-thread-1" java.lang.IllegalAccessError: class com.google.common.collect.StandardTable$RowMap cannot access its superclass com.google.common.collect.Maps$ImprovedAbstractMap
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at com.google.common.collect.StandardTable.createRowMap(StandardTable.java:698)
at com.google.common.collect.StandardTable.rowMap(StandardTable.java:694)
at com.google.common.collect.HashBasedTable.rowMap(HashBasedTable.java:55)
at us.codecraft.webmagic.Site.getAllCookies(Site.java:130)
at us.codecraft.webmagic.downloader.HttpClientGenerator.generateCookie(HttpClientGenerator.java:84)
at us.codecraft.webmagic.downloader.HttpClientGenerator.generateClient(HttpClientGenerator.java:73)
at us.codecraft.webmagic.downloader.HttpClientGenerator.getClient(HttpClientGenerator.java:45)
at us.codecraft.webmagic.downloader.HttpClientDownloader.getHttpClient(HttpClientDownloader.java:63)
at us.codecraft.webmagic.downloader.HttpClientDownloader.download(HttpClientDownloader.java:92)
at us.codecraft.webmagic.Spider.processRequest(Spider.java:408)
at us.codecraft.webmagic.Spider$1.run(Spider.java:322)
at us.codecraft.webmagic.selector.thread.CountableThreadPool$1.run(CountableThreadPool.java:74)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

陌上芳菲 2021-12-01 19:17:46

谢谢,找到原因了。。多了个1.6的java环境

少女情怀诗 2021-12-01 17:48:21

回复
哥们,请问怎么解决的?望不吝赐教

刘备忘录 2021-12-01 08:14:32

回复
看自己的回复当初是由于项目中存在了两个java sdk版本的缘故,删了1.6的java环境之后好了

复古式 2021-12-01 05:33:02

回复
@iwinder : 请问一下怎么删除一个Java1.6环境?我用myeclipse 10 创建选择1.6 其他的也没有选择什么,机器上运行1.7应该没有什么问题吧。

心舞飞扬 2021-12-01 05:07:47

@thomas_Roosevelt 回复
@thomas_Roosevelt : 没事啊,我本来是用的1.7,忘了什么原因了里面多了个1.6Java环境,结果程序里同时存在了1.6和1.7,如是悲剧了。。最后删了不用的1.6就好了

左岸枫 2021-11-28 12:28:07

最好maven,要不就调整一下包的依赖顺序吧,参照https://github.com/code4craft/webmagic/blob/master/README-zh.md

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文