我在这里遵循教程:
http://nutch.sourceforge.net/docs/en/tutorial.html
抓取工作正常,从命令行进行测试搜索也是如此。
当我尝试在将ROOT.war移动到位后启动tomcat(并且它在启动期间取消归档并创建新的ROOT文件夹)时,我得到一个页面,其中包含500错误以及Tomcat日志中的一些错误。
HTTP状态500 - 没有配置上下文来处理此请求
2009-02-19 15:55:46 WebappLoader[]: Deploy JAR /WEB-INF/lib/xerces-2_6_2.jar to C:\Program Files\Apache Software Foundation\Tomcat 4.1\webapps\ROOT\WEB-INF\lib\xerces-2_6_2.jar
2009-02-19 15:55:47 ContextConfig[] Parse error in default web.xml
org.apache.commons.logging.LogConfigurationException: User-specified log class 'org.apache.commons.logging.impl.Log4JLogger' cannot be found or is not useable.
at org.apache.commons.digester.Digester.createSAXException(Digester.java:3181)
at org.apache.commons.digester.Digester.createSAXException(Digester.java:3207)
at org.apache.commons.digester.Digester.endElement(Digester.java:1225) ............ etc.
所以看起来错误的根是默认的web.xml,而不是在Log4JLogger中 - 虽然我对Java知之甚少。我没有编辑tomcat目录中的web.xml。
任何人都知道这里发生了什么?
版本/信息:
nutch 0.9
Tomcat 4.1
jre1.5.0_08
jdk1.6.0_12
NUTCH_JAVA_HOME = C:\ Program Files \ Java \ jdk1.6.0_12
JAVA_HOME = C:\ Program Files \ Java \ jdk1.6.0_12
答案 0 :(得分:2)
在Java中,应用程序有时依赖于第三方库。在这种情况下,您的Tomcat安装似乎不包含一个这样的库。根据您收到的错误判断,您似乎缺少Apache Commons Logging库(Java世界中常用的库,恰好不会与Tomcat捆绑在一起)。
在Java中分发库的典型方法是通过JAR(Java Archive)文件。简单地说,一个JAR文件就是一堆Java类,它们已被压缩到一个已经从* .zip重命名为* .jar的文件中。
要获取Commons Logging JAR文件,您可以从Apache Commons download site下载它。您将需要二进制版本,而不是源版本。如果你碰巧下载了1.1.1版(例如),你应该解压缩commons-logging-1.1.1-bin.zip
文件。在里面,你会找到一个名为commons-logging-1.1.1.jar
的文件。将此JAR文件复制到安装Tomcat软件的lib
目录。在注意到这个新文件之前,可能需要重新启动Tomcat。
希望下次您尝试使用该应用程序时,您可能会或可能不会收到另一个错误,指示无法找到另一个类。在这种情况下,我欢迎您来到JAR狩猎的精彩世界! :)希望应用程序不会需要太多的库以及Commons Logging以外的库,但我们会看到(考虑到你正在尝试运行Nutch,我可以预见它需要Lucene,所以要做好准备)。 / p>
与Nutch玩得开心!
答案 1 :(得分:1)
对我而言,它告诉我无法找到报告为解析错误本身的记录器。我想,有点奇怪或无法用来表达它的方式。无论如何,我认为您需要将Commons Logging .jar添加到您的库(WEB-INF/lib
)并重新启动Tomcat然后它应该可以工作。
此外,您的Tomcat似乎很古老,如果可能的话我建议使用5.5.x或6.x.
答案 2 :(得分:0)
如果您发现应用程序中存在必需的.jar,则问题的解决方案可能是:
这个'work'文件夹,正如其名称所示,包含用于工作的类,有时可以出于任何原因阻止访问其中一些文件。当我得到这样的信息时,这是第一件事。大部分时间都有效......