web-dev-qa-db-fra.com

Tomcat 7 - Java.lang.NoClassDefFoundError: org/Apache/log4j/spi/Informations Throwable

Je suis confronté à l'exception suivante:

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

J'ai consulté Google à propos de cette exception et j'ai constaté que la plupart des réponses indiquaient qu'il s'agissait d'un bogue dans Tomcat 5.5 et qu'il serait résolu dans la version 5.5.28.

Cependant, j'utilise actuellement Tomcat 7.11 avec log4j-1.2.16.jar et je suis toujours confronté au même problème.

14
Ali Abdel-Aziz

Pour moi, la solution à ce problème (testée avec Openbravo 3.0MP11 et Tomcat 7.0.21) était la suivante:

  1. Supprimez le log4j-1.2.16.jar de WEB-INF/lib.
  2. Placez le fichier jar log4j dans le répertoire lib de Tomcat. Dans Ubuntu 11.10, ce serait /usr/share/Tomcat7/lib

Note pour mon cas d'utilisation spécifique d'Openbravo: Cela résout le problème de log4j, mais j'ai rencontré d'autres problèmes.

8
Hendy Irawan

On dirait que c'est un problème avec vos bibliothèques. Êtes-vous sûr de disposer du fichier jar Log4J dans le dossier WEB-INF/lib de votre application Web?

2
Mathias Schwarz

Comment le résoudre . Pour moi:

  1. essayez la levée d'exception {} catch () log4j.
  2. relancez Tomcat pour trouver le vrai problème
  3. résolvez le problème réel et supprimez try {} catch ()

Ce n'est pas un problème pour log4j et Tomcat. Il lève une exception car certains de vos codes sont erronés dans webapp init. Peut-être que xml ou config est une erreur. 

0
user918888

J'ai eu ce problème avec un portlet (bundle liferay 6.2 Tomcat). J'ai résolu le problème en supprimant le déploiement à l'origine de l'exception (dans le dossier Tomcat webapps), en nettoyant et en redéployant (avec maven - liferay:deploy) le portlet.

0
William Burnham