java - 在 Tomcat 上运行 Java .war 时出现问题

标签 java tomcat nutch

我正在按照这里的教程进行操作:

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

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

最佳答案

在 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 玩得开心!

关于java - 在 Tomcat 上运行 Java .war 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/567810/

相关文章:

java - nutch有网络服务API吗?

tomcat server.xml加密密码

java - Spring Boot 将 'es' 添加到链接

hadoop - 在hadoop上运行nutch时出现EOFException

java - 大数据用什么数据结构

java - 如何在 java 中使用 JAX - RS 和 tomcat 在 eclipse 中使用 Web 服务从数据库中插入和检索数据

hadoop - google爬虫的重新抓取策略

java - 使用不同的邮件 api jar 降低 sendmail 性能 (javamail)

java - 是否可以从另一个线程调用锁定对象的方法?

Windows 10 移动版上的 Java