2012-03-26 69 views
13

我面臨以下異常:的Tomcat 7 - java.lang.NoClassDefFoundError:組織/阿帕奇/ log4j的/ SPI/ThrowableInformation

Mar 26, 2012 1:20:34 PM org.apache.catalina.loader.WebappClassLoader loadClass 
INFO: Illegal access: this web application instance has been stopped already. 
Could not load org.apache.log4j.spi.ThrowableInformation. 
The eventual following stack trace is caused by an error thrown for debugging purposes 
as well as to attempt to terminate the thread which caused the illegal access, and has 
no functional impact. 
java.lang.IllegalStateException 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1562) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521) 
at org.apache.log4j.spi.LoggingEvent.<init>(LoggingEvent.java:165) 
at org.apache.log4j.Category.forcedLog(Category.java:391) 
at org.apache.log4j.Category.error(Category.java:322) 
at com.abc.supervisionmanager.Monitoring.run(Monitoring.java:205) 
at java.lang.Thread.run(Thread.java:662) 
Exception in thread "Thread_Monitoring" java.lang.NoClassDefFoundError: org/apache/log4j/spi/ThrowableInformation 
at org.apache.log4j.spi.LoggingEvent.<init>(LoggingEvent.java:165) 
at org.apache.log4j.Category.forcedLog(Category.java:391) 
at org.apache.log4j.Category.error(Category.java:322) 
at com.abc.supervisionmanager.Monitoring.run(Monitoring.java:205) 
at java.lang.Thread.run(Thread.java:662) 
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.spi.ThrowableInformation 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1676) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1521) 
... 5 more 

我GOOGLE了有關此異常,發現大多數答案指向,這是在tomcat 5.5中的錯誤,它將在5.5.28版本中得到解決。

但是,我目前使用tomcat 7.11與log4j-1.2.16.jar我仍然面臨同樣的問題。

+0

我遇到了同樣的問題 – 2012-06-25 08:50:43

+0

如果您已將sym連接到您的Web應用程序中的任何文件夾,請看這裏:http://stackoverflow.com/questions/22240776/symlinking-tomcat-8-directory-resources – GlenPeterson 2014-10-16 20:12:37

回答

2

聽起來像這是你的圖書館的問題。您確定您的webapp的WEB-INF/lib文件夾中有Log4J jar文件嗎?

+0

是的,我在** my-webapplication \ WEB-INF \ lib \下有** log4j-1.2.16.jar ** – 2012-03-26 15:04:49

+0

在Weblogic中有同樣的問題。我懷疑weblogic的log4j庫和我的應用程序之間存在衝突,但即使使用weblogic.xml的weblogic的prefer-application-packages部分也沒有清除它。我嘗試使用Spring MVC時碰到它。 – Jason 2012-03-26 17:31:30

+0

我遇到了同樣的問題,試圖在Tomcat 7.0.21下運行Openbravo 3.0MP11。我嘗試在/ var/lib/tomcat7/shared,/ var/lib/tomcat7/shared/lib,/ usr/share/tomcat7/lib下添加log4j ......沒有任何作用:( – 2012-06-25 08:51:29

8

對我,對這個問題(完成Openbravo 3.0MP11和Tomcat 7.0.21測試)的解決方案是:

  1. WEB-INF/lib取出log4j-1.2.16.jar
  2. 將log4j jar放入Tomcat的lib目錄中。在Ubuntu 11.10這將是/usr/share/tomcat7/lib

注意我的Openbravo的具體用例:這確實解決了log4j問題,但後來我遇到了其他問題。

+0

您是否刪除了任何其他log4j jar? – rogerdpack 2013-08-26 16:21:11

-1

我在catalina.out中同樣的錯誤,但在一開始發現錯誤:

2016-3-18 16:44:59 org.apache.catalina.core.StandardServer await 
StandardServer.await: create[localhost:8291]: 
java.net.BindException: Address already in use 

最後的真正原因是端口。

0

如何解決它。對我來說:

  1. try {} catch() log4j exception throw.
  2. run tomcat again to find the real problem
  3. solve the real problem and delete try{} catch()

這對log4j和tomcat來說不是問題。它會拋出異常,因爲你的一些代碼在webapp init中運行錯誤。也許xml或config是錯誤的。

相關問題