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

iwinder 发布于 2016/02/13 11:37
阅读 6K+
收藏 0

在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)

加载中
0
如比如比
如比如比
最好maven,要不就调整一下包的依赖顺序吧,参照https://github.com/code4craft/webmagic/blob/master/README-zh.md
iwinder
iwinder
@thomas_Roosevelt 回复@thomas_Roosevelt : 没事啊,我本来是用的1.7,忘了什么原因了里面多了个1.6Java环境,结果程序里同时存在了1.6和1.7,如是悲剧了。。最后删了不用的1.6就好了
t
thomas_Roosevelt
回复 @iwinder : 请问一下怎么删除一个Java1.6环境?我用myeclipse 10 创建选择1.6 其他的也没有选择什么,机器上运行1.7应该没有什么问题吧。
iwinder
iwinder
回复 @liangfh : 看自己的回复当初是由于项目中存在了两个java sdk版本的缘故,删了1.6的java环境之后好了
l
liangfh
回复 @iwinder : 哥们,请问怎么解决的?望不吝赐教
iwinder
iwinder
谢谢,找到原因了。。多了个1.6的java环境
返回顶部
顶部