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
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
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
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