From Bugzilla Helper: User-Agent: Mozilla/5.0 (compatible; Konqueror/4.0; Linux) KHTML/4.0.5 (like Gecko) Fedora/4.0.5-2.fc9 Description of problem: After installing tomcat6, it won't start, but complain about the following: 21-Jun-08 4:31:28 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:1358) at gnu.xml.stream.SAXParser.parse(libgcj.so.9) at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1644) at org.apache.catalina.startup.Catalina.load(Catalina.java:516) at org.apache.catalina.startup.Catalina.load(Catalina.java:550) at java.lang.reflect.Method.invoke(libgcj.so.9) at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:260) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412) aused by: java.lang.ClassNotFoundException: javax.management.modelmbean.ModelMB eanNotificationBroadcaster not found in org.apache.catalina.loader.StandardClassLoader{urls=[file:/usr/share/java/tomcat tomcat5-1.2.1.jar,file:/usr/share/java/tomcat6/el- tomcat5-3.2.jar,file:/usr/share/java/tomcat6-jsp-2.1- coyote-6.0.16.jar,file:/usr/share/java/tomcat6/catalina- tomcat5-1.3.jar,file:/usr/share/java/tomcat6/catalina- el-6.0.16.jar,file:/usr/share/java/tomcat6/jasper- a/tomcat6/tomcat-i18n-fr-6.0.16.jar,file:/usr/share/java/tomcat6/tomcat-i18n- ha-6.0.16.jar,file:/usr/share/java/tomcat6/jasper-6.0.16.jar,file:/usr/share/jav tribes-6.0.16.jar,file:/usr/share/java/tomcat6/tomcat- ja-6.0.16.jar,file:/usr/share/java/tomcat6/tomcat-i18n- api-6.0.16.jar,file:/usr/share/java/tomcat6/catalina- api-6.0.16.jar,file:/usr/share/java/tomcat6/catalina-6.0.16.jar,file:/usr/share/ api-6.0.16.jar,file:/usr/share/java/tomcat6/catalina-6.0.16.jar,file:/usr/share/ omcat6/tomcat-i18n-es-6.0.16.jar,file:/usr/share/java/tomcat6/catalina- parent=gnu.gcj.runtime.SystemClassLoader{urls=[file:./,file:/usr/share/tomcat6/b juli.jar,file:/usr/share/java/commons-daemon.jar], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}} 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:260) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:412) 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:1358) at gnu.xml.stream.SAXParser.parse(libgcj.so.9) at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1644) at org.apache.catalina.startup.Catalina.load(Catalina.java:516) at org.apache.catalina.startup.Catalina.load(Catalina.java:550) at java.lang.reflect.Method.invoke(libgcj.so.9) ...2 more Caused by: java.lang.ClassNotFoundException: javax.management.modelmbean.ModelMB eanNotificationBroadcaster not found in org.apache.catalina.loader.StandardClass Loader{urls=[file:/usr/share/java/tomcat6/,file:/usr/share/java/jakarta-commons- api-6.0.16.jar,file:/usr/share/java/jakarta-commons-collections- api-6.0.16.jar,file:/usr/share/java/tomcat6/tomcat- ant-6.0.16.jar,file:/usr/share/java/jakarta-commons-pool- ha-6.0.16.jar,file:/usr/share/java/tomcat6/jasper- el-6.0.16.jar,file:/usr/share/java/tomcat6/jasper-6.0.16.jar,file:/usr/share/jav fr-6.0.16.jar,file:/usr/share/java/tomcat6/catalina- a/tomcat6/annotations-api-6.0.16.jar,file:/usr/share/java/tomcat6/catalina- coyote-6.0.16.jar,file:/usr/share/java/tomcat6/tomcat-i18n- ja-6.0.16.jar,file:/usr/share/java/tomcat6/annotations- ant-6.0.16.jar,file:/usr/share/java/tomcat6/el- java/tomcat6-servlet-2.5- eclipse/plugins/org.eclipse.jdt.core_3.3.3.v_793_R33x.jar,file:/usr/share/java/t tribes-6.0.16.jar,file:/usr/share/java/tomcat6/tomcat-i18n-es-6.0.16.jar], parent=gnu.gcj.runtime.SystemClassLoader{urls=[file:./,file:/usr/share/tomcat6/b juli.jar,file:/usr/share/java/commons-daemon.jar], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}} 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 Version-Release number of selected component (if applicable): tomcat6-6.0.16-1jpp.7.fc9.noarch How reproducible: Always Steps to Reproduce: 1.yum -y install tomcat6 2.service tomcat6 start 3.look at /var/log/tomcat6/catalina.out Actual Results: tomcat6 does not start, but writes the above message to /var/log/tomcat6/catalina.out Expected Results: tomcat6 should start and bind to port 8080. Additional info:
Created attachment 309969 [details] /var/log/tomcat6/catalina.out
You need to run this with openjdk. It looks like you are running gcj.
Indeed. While: # java -version OpenJDK Runtime Environment (build 1.6.0-b09) OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode) the default path: #JAVA_HOME="/usr/lib/jvm/java" points to gcj (no idea why). When manually setting JAVA_HOME="/usr/lib/jvm/jre-1.6.0-openjdk.x86_64" it seems to work, thanks! Maybe the default of JAVA_HOME should be changed??
If both are installed, openjdk should have a higher priority and be automatically set as the default. It is possible to manually configure gcj as the default. If you've never done this then I am not sure what happened. Since I want to support theoretically more than one JVM vendor/version, it is not really possible for me to ship the JAVA_HOME in the config, but you can force it if you want in java.conf (globally) or tomcat6.conf (for tomcat6 only).
tomcat6 doesn't seem to care about the alternatives system, but it does care about JAVA_HOME so setting: JAVA_HOME=/etc/alternatives/jre in /etc/java/java.conf at least bridges the gap. As far as I can tell, tomcat6 doesn't work out of the box, at least on el6. It has dependencies on gcj but should have dependencies on openjdk instead, since gcj doesn't work for tomcat6. Ideally the tomcat6 startup would also understand /etc/alternatives natively too.