1

我正在关注这里的教程:

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。

有人知道这里发生了什么吗?

版本/信息:

纽扣 0.9

雄猫 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

4

3 回答 3

2

在 Java 中,应用程序有时依赖第三方库。在这种情况下,您的 Tomcat 安装似乎不包含一个这样的库。从您收到的错误来看,您似乎缺少Apache Commons Logging库(Java 世界中的一个常用库,恰好没有与 Tomcat 捆绑在一起)。

在 Java 中分发库的典型方法是通过 JAR(Java 存档)文件。简单地说,JAR 文件就是一堆 Java 类,它们被压缩到一个文件中,该文件已从 *.zip 重命名为 *.jar。

要获取 Commons Logging JAR 文件,您可以从Apache Commons 下载站点下载它。您将需要二进制版本,而不是源版本。如果您碰巧下载了 1.1.1 版(例如),您应该解压缩该commons-logging-1.1.1-bin.zip文件。在里面,你会发现一个名为commons-logging-1.1.1.jar. 将此 JAR 文件复制到lib安装 Tomcat 软件的目录中。在 Tomcat 注意到这个新文件之前,您可能需要重新启动它。

希望下次您尝试使用该应用程序时,您可能会或可能不会收到另一个错误,表明找不到另一个类。在这种情况下,我欢迎您来到 JAR 狩猎的精彩世界!:) 希望该应用程序不需要过多的库,超出 Commons Logging,但我们会看到(考虑到您正在尝试运行 Nutch,我可以预见它需要Lucene,所以为此做好准备)。

和 Nutch 一起玩吧!

于 2009-02-20T06:52:22.153 回答
1

对我来说,这告诉它找不到本身报告为解析错误的记录器。我猜想表达它的方式有点奇怪或不合时宜。无论如何,我认为您需要将Commons Logging .jar添加到您的库(WEB-INF/lib)并重新启动 Tomcat,然后它应该可以工作。

此外,您的 Tomcat 似乎很古老,如果可能的话,我建议您使用 5.5.x 或 6.x。

于 2009-02-20T06:52:39.720 回答
0

如果您发现应用程序中存在所需的 .jar,则解决问题的方法可能是:

  1. 停止 Tomcat
  2. 转到 %TOMCAT_HOME%/ 擦除里面的所有内容

顾名思义,这个“工作”文件夹包含用于工作的类,有时可以出于任何原因阻止对其中一些文件的访问。当我收到这样的消息时,这是第一件事。大多数时候它的工作...

于 2009-02-20T07:36:00.100 回答