2012-08-07 64 views
2

我在一個java web應用程序中使用Log4j。java-log4j-沒有找到類

現在,當我運行的web應用程序的一個servlet,這是錯誤消息,我get--

描述服務器遇到一個內部錯誤()阻止其完成此請求。

例外

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構建Path--的log4j的JAR文件已被添加到構建路徑。

我在這裏做錯了什麼?我如何讓log4j在沒有任何問題的情況下工作?

回答

9

我檢查了Java構建路徑--log4j的JAR文件已添加到構建路徑。

身爲構建路徑的一部分是不夠的 - 你需要確保它可以在執行時間,例如通過將其在WEB-INF/lib目錄中的Web應用程序,或可能在您的servlet容器的庫路徑。