Bekannte Tomcat-Bugs

Bekannte Tomcat-Bugs

Tomcat kann nicht gestartet werden (java.lang.NoClassDefFoundError: org.apache.catalina.mbeans.ServerLifecycleListener)

Beschreibung

Nach einem Restart von Liferay (als Bundle-Version) ließ sich der Tomcat6 nicht wieder starten. Die folgende Fehlermeldung erschien in catalina.out:

Problem

catalina.out

17-Aug-10 8:33:20 PM org.apache.tomcat.util.digester.Digester startElement
SEVERE: Begin event threw error
java.lang.NoClassDefFoundError: org.apache.catalina.mbeans.ServerLifecycleListener
at java.lang.Class.initializeClass(libgcj.so.9)
at java.lang.Class.newInstance(libgcj.so.9)
at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:206)
at org.apache.tomcat.util.digester.Rule.begin(Rule.java:153)
at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1356)
at gnu.xml.stream.SAXParser.parse(libgcj.so.9)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1642)
at org.apache.catalina.startup.Catalina.load(Catalina.java:510)
at org.apache.catalina.startup.Catalina.load(Catalina.java:548)
at java.lang.reflect.Method.invoke(libgcj.so.9)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:261)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.ClassNotFoundException: javax.management.modelmbean.ModelMBeanNotificationBroadcaster not found in org.apache.catalina.loader.StandardClassLoader

Unknown macro: {urls=[file}

at java.net.URLClassLoader.findClass(libgcj.so.9)
at java.lang.ClassLoader.loadClass(libgcj.so.9)
at java.lang.ClassLoader.loadClass(libgcj.so.9)
at java.lang.VMClassLoader.defineClass(libgcj.so.9)
at java.lang.ClassLoader.defineClass(libgcj.so.9)
at java.security.SecureClassLoader.defineClass(libgcj.so.9)
at java.net.URLClassLoader.findClass(libgcj.so.9)
at java.lang.ClassLoader.loadClass(libgcj.so.9)
at java.lang.ClassLoader.loadClass(libgcj.so.9)
at java.lang.VMClassLoader.defineClass(libgcj.so.9)
at java.lang.ClassLoader.defineClass(libgcj.so.9)
at java.security.SecureClassLoader.defineClass(libgcj.so.9)
at java.net.URLClassLoader.findClass(libgcj.so.9)
at java.lang.ClassLoader.loadClass(libgcj.so.9)
at java.lang.ClassLoader.loadClass(libgcj.so.9)
at java.lang.Class.forName(libgcj.so.9)
at java.lang.Class.initializeClass(libgcj.so.9)
...11 more
java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(libgcj.so.9)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:261)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
Caused by: java.lang.NoClassDefFoundError: org.apache.catalina.mbeans.ServerLifecycleListener
at java.lang.Class.initializeClass(libgcj.so.9)
at java.lang.Class.newInstance(libgcj.so.9)
at org.apache.tomcat.util.digester.ObjectCreateRule.begin(ObjectCreateRule.java:206)
at org.apache.tomcat.util.digester.Rule.begin(Rule.java:153)
at org.apache.tomcat.util.digester.Digester.startElement(Digester.java:1356)
at gnu.xml.stream.SAXParser.parse(libgcj.so.9)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1642)
at org.apache.catalina.startup.Catalina.load(Catalina.java:510)
at org.apache.catalina.startup.Catalina.load(Catalina.java:548)
at java.lang.reflect.Method.invoke(libgcj.so.9)
...2 more
Caused by: java.lang.ClassNotFoundException: javax.management.modelmbean.ModelMBeanNotificationBroadcaster not found in org.apache.catalina.loader.StandardClassLoader

Unknown macro: {urls=[file}

at java.net.URLClassLoader.findClass(libgcj.so.9)
at java.lang.ClassLoader.loadClass(libgcj.so.9)
at java.lang.ClassLoader.loadClass(libgcj.so.9)
at java.lang.VMClassLoader.defineClass(libgcj.so.9)
at java.lang.ClassLoader.defineClass(libgcj.so.9)
at java.security.SecureClassLoader.defineClass(libgcj.so.9)
at java.net.URLClassLoader.findClass(libgcj.so.9)
at java.lang.ClassLoader.loadClass(libgcj.so.9)
at java.lang.ClassLoader.loadClass(libgcj.so.9)
at java.lang.VMClassLoader.defineClass(libgcj.so.9)
at java.lang.ClassLoader.defineClass(libgcj.so.9)
at java.security.SecureClassLoader.defineClass(libgcj.so.9)
at java.net.URLClassLoader.findClass(libgcj.so.9)
at java.lang.ClassLoader.loadClass(libgcj.so.9)
at java.lang.ClassLoader.loadClass(libgcj.so.9)
at java.lang.Class.forName(libgcj.so.9)
at java.lang.Class.initializeClass(libgcj.so.9)
...11 more

Cause

Die Java-Version des Betriebssystems wird nicht akzeptiert vom Tomcat. Deshalb habe ich in meinem Fall auf die IBM-Version umgestellt, da dies ein "richtiges" JDK 1.6 auf meinem Server war.

Useful Informaton

Ich empfehle, falls vorhanden, ein Sun-JDK zu benutzen, da IBM auch mal ihr "eigenes Süppchen braut".

Hilfe

Gefunden habe ich die Lösung in einem Forum, dessen Inhalt ich als pdf (Bug 452365.pdf) beigefügt habe.

Anhänge

  File Modified

PDF File Bug 452365.pdf

Feb 06, 2016 by Carsten Rehberg