Tomcat 7 - java.lang.NoClassDefFoundError:org/apache/log4j/spi/ThrowableInformation

Ali*_*ziz 15 java log4j tomcat7

我面临以下例外:

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
Run Code Online (Sandbox Code Playgroud)

我搜索了这个异常并发现大多数答案指出它是tomcat 5.5中的错误,它将在5.5.28版本中解决.

但是我目前正在使用tomcat 7.11和log4j-1.2.16.jar我仍然面临同样的问题.

Hen*_*wan 9

对我来说,这个问题的解决方案(使用Openbravo 3.0MP11和Tomcat 7.0.21测试)是:

  1. 取出log4j-1.2.16.jarWEB-INF/lib.
  2. 将log4j jar放在Tomcat的lib目录中.在Ubuntu 11.10中,这将是/usr/share/tomcat7/lib

请注意我的Openbravo特定用例:这确实解决了log4j问题,但后来我遇到了其他问题.


Mat*_*arz 2

听起来这是你的库的问题。您确定WEB-INF/libWeb 应用程序的文件夹中有 Log4J jar 文件吗?