tomcat5无法在CentOS 5上启动NoClassDefFoundError异常

时间:2023-01-19 10:36:34

Tomcat fails to start even if i remove all my applications from the WEBAPPS directory leaving everything just like after the OS installation.

即使我从WEBAPPS目录中删除所有应用程序,Tomcat也无法启动,只留下操作系统安装后的所有内容。

The log (catalina.out) says:

日志(catalina.out)说:

Using CATALINA_BASE:   /usr/share/tomcat5
Using CATALINA_HOME:   /usr/share/tomcat5
Using CATALINA_TMPDIR: /usr/share/tomcat5/temp
Using JRE_HOME:       
Created MBeanServer with ID: -dpv07y:fl4s82vl.0:hydrogenium.timberlinecolorado.com:1
java.lang.NoClassDefFoundError: org.apache.catalina.core.StandardService
   at java.lang.Class.initializeClass(libgcj.so.7rh)
   at java.lang.Class.initializeClass(libgcj.so.7rh)
   at java.lang.Class.initializeClass(libgcj.so.7rh)
   at java.lang.Class.newInstance(libgcj.so.7rh)
   at org.apache.catalina.startup.Bootstrap.init(bootstrap.jar.so)
   at org.apache.catalina.startup.Bootstrap.main(bootstrap.jar.so)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.modeler.Registry not found in org.apache.catalina.loader.StandardClassLoader{urls=[file:/var/lib/tomcat5/server/classes/,file:/usr/share/java/tomcat5/catalina-cluster-5.5.23.jar,file:/usr/share/java/tomcat5/catalina-storeconfig-5.5.23.jar,file:/usr/share/java/tomcat5/catalina-optional-5.5.23.jar,file:/usr/share/java/tomcat5/tomcat-coyote-5.5.23.jar,file:/usr/share/java/tomcat5/tomcat-jkstatus-ant-5.5.23.jar,file:/usr/share/java/tomcat5/tomcat-ajp-5.5.23.jar,file:/usr/share/java/tomcat5/servlets-default-5.5.23.jar,file:/usr/share/java/tomcat5/servlets-invoker-5.5.23.jar,file:/usr/share/java/tomcat5/catalina-ant-jmx-5.5.23.jar,file:/usr/share/java/tomcat5/tomcat-http-5.5.23.jar,file:/usr/share/java/tomcat5/tomcat-util-5.5.23.jar,file:/usr/share/java/tomcat5/tomcat-apr-5.5.23.jar,file:/usr/share/eclipse/plugins/org.eclipse.jdt.core_3.2.1.v_677_R32x.jar,file:/usr/share/java/tomcat5/servlets-webdav-5.5.23.jar,file:/usr/share/java/tomcat5/catalina-5.5.23.jar], parent=org.apache.catalina.loader.StandardClassLoader{urls=[file:/var/lib/tomcat5/common/classes/,file:/var/lib/tomcat5/common/i18n/tomcat-i18n-ja.jar,file:/var/lib/tomcat5/common/i18n/tomcat-i18n-fr.jar,file:/var/lib/tomcat5/common/i18n/tomcat-i18n-en.jar,file:/var/lib/tomcat5/common/i18n/tomcat-i18n-es.jar,file:/usr/share/java/tomcat5/naming-resources-5.5.23.jar,file:/usr/share/eclipse/plugins/org.eclipse.jdt.core_3.2.1.v_677_R32x.jar,file:/usr/share/java/tomcat5/naming-factory-5.5.23.jar], parent=gnu.gcj.runtime.SystemClassLoader{urls=[file:/usr/lib/jvm/java/lib/tools.jar,file:/usr/share/tomcat5/bin/bootstrap.jar,file:/usr/share/tomcat5/bin/commons-logging-api.jar,file:/usr/share/java/mx4j/mx4j-impl.jar,file:/usr/share/java/mx4j/mx4j-jmx.jar], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}}}
   at java.net.URLClassLoader.findClass(libgcj.so.7rh)
   at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
   at java.lang.ClassLoader.loadClass(libgcj.so.7rh)
   at java.lang.Class.initializeClass(libgcj.so.7rh)
   ...5 more

4 个解决方案

#1


1  

Seems like you've implemented a JMX service and tried to install it on your server.xml file but forgot to add the apache commons modeler jar to the server/lib directory (therefore the ClassNotFoundException for org.apache.commons.modeler.Registry). Check your server.xml file for anything you might have added, and try to add the proper jar file to your server classpath.

好像你已经实现了一个JMX服务并尝试将它安装在你的server.xml文件上但忘了将apache commons modeler jar添加到server / lib目录(因此org.apache.commons.modeler.Registry的ClassNotFoundException) 。检查server.xml文件以查找可能添加的内容,并尝试将正确的jar文件添加到服务器类路径中。

#2


0  

This screams class path issue, to me. Where exactly is your tomcat installed? (Give us command line printouts of where the home directory is.) Also, how are you starting it?

对我来说,这会尖叫类路径问题。您的tomcat到底安装在哪里? (给我们命令行打印输出主目录所在的位置。)另外,你是如何开始的?

#3


0  

Check your JAVA_HOME/JRE_HOME setting. You might want to use a different JVM rather than the one that is installed with the OS

检查您的JAVA_HOME / JRE_HOME设置。您可能希望使用不同的JVM而不是随OS一起安装的JVM

#4


0  

Seems like you need to have the jar for commons-modeler into $CATALINA_HOME/common/lib. You get the same kind of error when trying to setup JDBC datasources if you didn't put the driver's jar file into tomcat's server classpath.

好像你需要将commons-modeler的jar放到$ CATALINA_HOME / common / lib中。如果未将驱动程序的jar文件放入tomcat的服务器类路径中,则在尝试设置JDBC数据源时会出现同样的错误。

#1


1  

Seems like you've implemented a JMX service and tried to install it on your server.xml file but forgot to add the apache commons modeler jar to the server/lib directory (therefore the ClassNotFoundException for org.apache.commons.modeler.Registry). Check your server.xml file for anything you might have added, and try to add the proper jar file to your server classpath.

好像你已经实现了一个JMX服务并尝试将它安装在你的server.xml文件上但忘了将apache commons modeler jar添加到server / lib目录(因此org.apache.commons.modeler.Registry的ClassNotFoundException) 。检查server.xml文件以查找可能添加的内容,并尝试将正确的jar文件添加到服务器类路径中。

#2


0  

This screams class path issue, to me. Where exactly is your tomcat installed? (Give us command line printouts of where the home directory is.) Also, how are you starting it?

对我来说,这会尖叫类路径问题。您的tomcat到底安装在哪里? (给我们命令行打印输出主目录所在的位置。)另外,你是如何开始的?

#3


0  

Check your JAVA_HOME/JRE_HOME setting. You might want to use a different JVM rather than the one that is installed with the OS

检查您的JAVA_HOME / JRE_HOME设置。您可能希望使用不同的JVM而不是随OS一起安装的JVM

#4


0  

Seems like you need to have the jar for commons-modeler into $CATALINA_HOME/common/lib. You get the same kind of error when trying to setup JDBC datasources if you didn't put the driver's jar file into tomcat's server classpath.

好像你需要将commons-modeler的jar放到$ CATALINA_HOME / common / lib中。如果未将驱动程序的jar文件放入tomcat的服务器类路径中,则在尝试设置JDBC数据源时会出现同样的错误。