java-log4j-找不到类

Arv*_*ind 2 java log4j

我在java web应用程序中使用Log4j.

现在,当我运行该Web应用程序的servlet时,这是我得到的错误消息 -

description服务器遇到内部错误(),导致无法完成此请求.

例外

javax.servlet.ServletException: Servlet execution threw an exception

root cause

java.lang.NoClassDefFoundError: org/apache/log4j/Logger
com.test.ConfigHelper.<clinit>(ConfigHelper.java:45)
com.test.runsinglecrawljob.doGet(runsinglecrawljob.java:126)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

root cause


java.lang.ClassNotFoundException: org.apache.log4j.Logger
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1688)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1533)
com.test.ConfigHelper.<clinit>(ConfigHelper.java:45)
com.test.runsinglecrawljob.doGet(runsinglecrawljob.java:126)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
Run Code Online (Sandbox Code Playgroud)

现在ConfigHelper.java(第45行)中的代码行如下所示---

protected static final Logger log = Logger.getLogger(ConfigHelper.class);
Run Code Online (Sandbox Code Playgroud)

我检查了Java Build Path--已经将log4j的JAR文件添加到构建路径中.

我在这做错了什么?如何让log4j正常工作?

Jon*_*eet 11

我检查了Java Build Path--已经将log4j的JAR文件添加到构建路径中.

作为构建路径的一部分是不够的 - 您需要确保它在执行时可用,例如将其放在WEB-INF/libWeb应用程序的目录中,或者可能放在servlet容器的库路径中.