我正在尝试在我的Windows机器上运行Nutch。我安装了Nutch,Java,Tomcat和Cygwin。当我尝试在Cygwin中运行crawl命令时,出现以下错误:
java.lang.NoClassDefFoundError: org/apache/nutch/crawl/Crawl
Caused by: java.lang.ClassNotFoundException: org.apache.nutch.crawl.Crawl
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
Could not find the main class: org.apache.nutch.crawl.Crawl. Program will exit.
Exception in thread "main"
我的Java有点生疏,但这似乎告诉我Crawl
类不存在。如果是这种情况,我该如何找到它 - 并确保我的系统知道它的存在?
答案 0 :(得分:4)
您必须将nutch jar添加到类路径中。 See here how
看来nutch发行版没有附带jar。你必须使用ant build.xml
自己构建它。在nutch目录中键入ant jar
(如果安装了ant),它将生成jar。
答案 1 :(得分:2)
表示nutch-1.4,正在运行
ant job
从nutch目录中,然后将生成的nutch - * .job文件从build子目录移动到src子目录中,为我做了诀窍。
答案 2 :(得分:0)
JVM告诉你它无法找到Crawl
类。这很可能是因为传递给java
命令的命令行参数未指定正确的类路径。 (类路径是搜索类时使用的搜索路径,通常在命令行或使用CLASSPATH环境变量设置。)
答案 3 :(得分:0)
你使用的是什么版本?因为某些版本包含.jar,但是最近的版本包含.jar,但是有一个警告告诉你必须自己构建它。
答案 4 :(得分:0)
我不知道它有多久,我和nutch 1.4有同样的问题,我的解决方案:
打开bin中的nutch 和
99%抓取可以输出熟悉的东西。