2012-03-26 20 views
13

私は次の例外に直面している: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 

私は、この例外についてはGoogleで検索し、ほとんどの答えは、それがあることを指していることを発見tomcat 5.5のバグです。バージョン5.5.28で解決されます。

しかし、私は現在tomcat 7.11とlog4j-1.2.16.jarを使用しています。私はまだ同じ問題に直面しています。

+0

私は同じ問題を抱えています –

+0

あなたのWebアプリケーションの任意のフォルダをsym-linkedしている場合、ここを見てください:http://stackoverflow.com/questions/22240776/symlinking-tomcat-8-directory-resources – GlenPeterson

答えて

2

あなたのライブラリに問題があるようです。 webappのWEB-INF/libフォルダにLog4J jarファイルがありますか?私にとって

+0

はい、私は** log4j-1.2.16.jar **を 'my-webapplication \ WEB-INF \ lib \'にあります。 –

+0

Weblogicで同じ問題が発生しました。私はweblogicのlog4jライブラリとアプリケーションの間に矛盾があると思っていましたが、weblogic.xmlのweblogicのprefer-application-packagesセクションを使用してもそれをクリアしませんでした。私は、Spring MVCを使用しようとしているときにそれにぶつかります。 – Jason

+0

Tomcat 7.0.21でOpenbravo 3.0MP11を実行しようとしているのと同じ問題があります。/var/lib/tomcat7/shared/lib、/ usr/share/tomcat7/libの下にlog4jを追加しようとしましたが、何も動作しません:( –

8

、この問題の解決策(Openbravoの3.0MP11とTomcat 7.0.21でテストした):

  1. WEB-INF/libからlog4j-1.2.16.jarを削除します。
  2. log4j jarをTomcatのlibディレクトリに入れます。 Ubuntuの11.10で、これはOpenbravoのの私の具体的なユースケースのために/usr/share/tomcat7/lib

注意次のようになります。これは、log4jの問題を解決したが、その後、私は他の問題に遭遇しました。

+0

他のlog4j jarを削除しましたか? – rogerdpack

-1

私はcatalina.outで同じエラーを得たが、最初にエラーを見つける:

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

最後に本当の理由は、ポートです。

0

解決方法私のために:

log4jとtomcatでは問題ありません。あなたのコードのいくつかがwebapp initでエラーを実行するため、例外がスローされます。たぶんxmlまたはconfigエラーです。

関連する問題