java-log4j-找不到类

时间:2012-08-07 13:16:38

标签: java log4j

我在java网络应用程序中使用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)

现在ConfigHelper.java(第45行)中的代码行在下面给出---

protected static final Logger log = Logger.getLogger(ConfigHelper.class);

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

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

1 个答案:

答案 0 :(得分:11)

  

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

成为 build 路径的一部分是不够的 - 您需要确保它在执行时可用,例如通过放置它在Web应用程序的WEB-INF/lib目录中,或者可能在servlet容器的库路径中。