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

2022-09-03 07:37:36

我面临以下异常:

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

我用谷歌搜索了这个异常,发现大多数答案都指出它是tomcat 5.5中的错误,它将在5.5.28版本中得到解决。

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


答案 1

对我来说,这个问题的解决方案(使用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问题,但后来我遇到了其他问题。


答案 2

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


推荐