web-dev-qa-db-ja.com

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

私はこの例外についてググったところ、ほとんどの回答はTomcat 5.5のバグであり、バージョン5.5.28で解決されることを示しています。

しかし、私は現在log4j-1.2.16.jarでTomcat 7.11を使用していますが、それでも同じ問題に直面しています。

15
Ali Abdel-Aziz

私にとって、この問題の解決策(Openbravo 3.0MP11およびTomcat 7.0.21でテスト済み)は次のとおりです。

  1. log4j-1.2.16.jarWEB-INF/libから削除します。
  2. Tomcatのlibディレクトリ内にlog4j jarを置きます。 Ubuntu 11.10では、これは/usr/share/Tomcat7/libになります。

Openbravoの特定の使用例に関する注意:これはlog4jの問題を解決しますが、他の問題に遭遇しました。

9
Hendy Irawan

それはあなたのライブラリに問題があるように聞こえます。 WebアプリのWEB-INF/libフォルダーにLog4J jarファイルがあることを確認しますか?

2
Mathias Schwarz

それを解決する方法。私のために:

  1. {} catch()log4j例外スローを試してください。
  2. tomcatをもう一度実行して、実際の問題を見つけます
  3. 実際の問題を解決し、try {} catch()を削除します

Log4jとTomcatでは問題ありません。コードの一部がwebapp initでエラーを実行するため、例外がスローされます。たぶんxmlまたはconfigにエラーがあります。

0
user918888

ポートレット(liferay 6.2 Tomcatバンドル)でこの問題が発生しました。例外の原因となったデプロイメント(Tomcat webappsフォルダー内)の削除、クリーニングおよび再デプロイ(maven-liferay:deploy)ポートレット。

0
William Burnham