2009-02-20 80 views
1

运行Java的.war我在这里以下教程:问题在Tomcat

http://nutch.sourceforge.net/docs/en/tutorial.html

爬行工作正常,一样的命令行测试搜索。

当我在将ROOT.war移动到位(并且在启动过程中解压并创建一个新的ROOT文件夹)之后尝试启动tomcat时,我得到一个包含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

回答

1

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

另外你的Tomcat似乎是古老的,如果可能的话,我建议获得5.5.x或6.x.

+0

这个答案让我感动。现在搜索不会返回任何结果,但至少会出现搜索页面。 – Sam 2009-02-20 20:51:18

2

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

在Java中分发库的典型方法是通过JAR(Java归档)文件。简单地说,一个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,所以请为此做好准备)。

与Nutch玩得开心!

+0

很好的解释 - 我会试试看。 – Sam 2009-02-20 17:50:47

+0

错误.jar API结束了,但我放弃了其他罐子。似乎没有帮助。感谢您的建议。 – Sam 2009-02-20 20:48:19

0

,如果你发现有所需的.jar现有的应用程序,不是解决问题的方法可能是:

  1. 停止Tomcat
  2. 转到%TOMCAT_HOME%/工作的消除内部一切

这个'工作'文件夹,正如其名称所示,包含用于工作的类,有时可能出于某种原因阻止访问其中某些文件。当我收到这样的消息时,这是第一件事。大多数时候它的工作原理...