Warum Werfen NoClassDefFoundError auf Tomcat shutdown?

Mein Projekt gehören Apache commons-* library.

Throw exception auf tomcat Herunterfahren, keine Ausnahme, wenn Sie die Standard-Beispiel.

catalina aus:

INFO: Illegal access: this web application instance gestoppt wurde, bereits. Konnte nicht geladen werden: org.apache.log4j.spi.ThrowableInformation. Die eventuelle folgende stack-trace ist verursacht durch einen Fehler geworfen zu debugging-Zwecken, sowie zu versuchen, zu beenden, der thread verursacht der illegale Zugriff, und hat keine funktionale Auswirkung.

INFO: Illegal access: this web application instance gestoppt wurde, bereits. Konnte nicht geladen werden: org.apache.log4j.spi.ThrowableInformation. Die eventuelle folgende stack-trace ist verursacht durch einen Fehler geworfen zu debugging-Zwecken, sowie zu versuchen, zu beenden, der thread verursacht der illegale Zugriff, und hat keine funktionale Auswirkung.

INFO: Destroying ProtocolHandler ["http-bio-8080"]
Sep 24, 2012 4:00:14 PM org.apache.catalina.loader.WebappClassLoader loadClass
INFO: Illegal access: this web application instance ses ahas been stopped already.  Could not load org.apache.commons.pool.impl.CursorableLinkedList$Cursor.  The eventual following stack trace is caused by an error thrown for debugging purpos 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:1600)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
    at org.apache.commons.pool.impl.CursorableLinkedList.cursor(CursorableLinkedList.java:305)
    at org.apache.commons.pool.impl.GenericObjectPool.evict(GenericObjectPool.java:1536)
    at org.apache.commons.pool.impl.GenericObjectPool$Evictor.run(GenericObjectPool.java:1749)
    at java.util.TimerThread.mainLoop(Timer.java:512)
    at java.util.TimerThread.run(Timer.java:462)

Exception in thread "Timer-0" java.lang.NoClassDefFoundError: org/apache/commons/pool/impl/CursorableLinkedList$Cursor
    at org.apache.commons.pool.impl.CursorableLinkedList.cursor(CursorableLinkedList.java:305)
    at org.apache.commons.pool.impl.GenericObjectPool.evict(GenericObjectPool.java:1536)
    at org.apache.commons.pool.impl.GenericObjectPool$Evictor.run(GenericObjectPool.java:1749)
    at java.util.TimerThread.mainLoop(Timer.java:512)
    at java.util.TimerThread.run(Timer.java:462)


Caused by: java.lang.ClassNotFoundException: org.apache.commons.pool.impl.CursorableLinkedList$Cursor
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
    ... 5 more
  • Sie haben diese Klassen? Sie sind geladen mit dem selben classloader?
  • alle commons-*.jar in WEB-INF/lib von tomcat version 7.0.30. Erfahrungsberichte gleiche mit stackoverflow.com/questions/3320400/...
  • das gleiche Problem.stackoverflow.com/questions/9872510/...
InformationsquelleAutor Carl ouyang | 2012-09-24
Schreibe einen Kommentar