在eclipse上执行Nutch报错:
Error: java.lang.ClassNotFoundException: com.google.common.util.concurrent.ThreadFactoryBuilder
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
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:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.apache.nutch.parse.ParseUtil.<init>(ParseUtil.java:59)
at org.apache.nutch.fetcher.Fetcher$FetcherThread.<init>(Fetcher.java:645)
at org.apache.nutch.fetcher.Fetcher.run(Fetcher.java:1411)
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:430)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:366)
at org.apache.hadoop.mapred.Child$4.run(Child.java:255)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190)
at org.apache.hadoop.mapred.Child.main(Child.java:249)
这时候,不要慌,带着愉快的心情咱看看输出报错的地方,你会发现报错的代码段中已经有包含了com.google.common.util.concurrent这个包中的类,那为什么会报错呢?不妨来看看configure build path,你会发现你没有把nutch项目下build文件夹中的apache-nutch**.job这个包加到你的build path libraries中。那你只需要在libraries界面的右边点击然后找到并进入nutch的build文件夹中,点击框的右下角选择所有文件,然后才能看到apache-nutch**.job,选中添加,ok~搞定~相信能够帮助到大家。这个问题我找了3天,最后还是在师兄的帮助下解决了。。。