2012-03-26 4 views
13

ich die folgende Ausnahme gegenüber:Tomcat 7 - java.lang.NoClassDefFoundError: org/Apache/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 

ich über diese Ausnahme gegoogelt und herausgefunden, dass die meisten Antworten zeigt, dass es Fehler in Tomcat 5.5 und es wird in Version 5.5.28 gelöst werden.

Allerdings verwende ich derzeit Tomcat 7.11 mit log4j-1.2.16.jar Ich bin immer noch mit dem gleichen Problem konfrontiert.

+0

Ich habe das gleiche Problem –

+0

Wenn Sie Sym-verknüpfte Ordner in Ihrer Web-App haben, klicken Sie hier: http://StackOverflow.com/Questions/22240776/Symlinking-Tomcat-8-Directory-Resources – GlenPeterson

Antwort

2

Klingt wie es ein Problem mit Ihren Bibliotheken ist. Sind Sie sicher, dass Sie die Log4J-JAR-Datei im Ordner WEB-INF/lib Ihrer Webanwendung haben?

+0

Ja, ich habe ** log4j-1.2.16.jar ** unter 'my-webapplication \ WEB-INF \ lib \' –

+0

Das gleiche Problem hier in Weblogic. Ich vermutete einen Konflikt zwischen der log4j-Bibliothek von weblogic und meiner Anwendung, aber selbst die Verwendung des Weblogic-Pakets für bevorzugte Anwendungspakete der weblogic.xml löste dies nicht. Ich stoße darauf, wenn ich Spring MVC benutze. – Jason

+0

Ich habe das gleiche Problem, versuchen Openbravo 3.0MP11 unter Tomcat 7.0.21 zu laufen. Ich habe versucht, log4j unter/var/lib/tomcat7/geteilt,/var/lib/tomcat7/shared/lib,/usr/share/tomcat7/lib ...... nichts funktioniert :( –

8

Für mich ist die Lösung für dieses Problem (getestet mit Openbravo 3.0MP11 und Tomcat 7.0.21) war:

  1. die log4j-1.2.16.jar von WEB-INF/lib entfernen.
  2. Setzen Sie das log4j-Glas in Tomcat's lib-Verzeichnis. In 11.10 Ubuntu würde dies /usr/share/tomcat7/lib

Hinweis für meinen speziellen Anwendungsfall von Openbravo sein: Dies ist das log4j Problem nicht lösen, aber dann lief ich in andere Fragen.

+0

hast du irgendwelche anderen log4j-jars entfernt? – rogerdpack

-1

habe ich den gleichen Fehler in catalina.out, aber Fehler am Anfang zu finden:

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

Schließlich ist der wahre Grund ist der Hafen.

0

Wie man es löst. Für mich:

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

Es ist kein Problem für log4j und Tomcat. Es wird eine Ausnahme ausgelöst, weil ein Teil Ihres Codes in webapp init fehlerhaft ist. Vielleicht ist XML oder Config ein Fehler.