我在 centOS 5.5 上运行 Tomcat 5.5.23,然后由于某种原因不得不重新安装。安装后不会启动。检查 catalina.out 文件导致此错误。谷歌搜索了几个小时显示结果是将丢失的 jar 文件复制到一个目录(/var/lib/tomcat5/server/lib)中,这解决了问题,但又创建了另一个;这次我收到以下错误:
Using CATALINA_BASE: /usr/share/tomcat5
Using CATALINA_HOME: /usr/share/tomcat5
Using CATALINA_TMPDIR: /usr/share/tomcat5/temp
Using JRE_HOME: /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64
java.lang.NoClassDefFoundError: org/apache/tomcat/util/log/SystemLogHandler
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2406)
at java.lang.Class.getConstructor0(Class.java:2716)
at java.lang.Class.newInstance0(Class.java:343)
at java.lang.Class.newInstance(Class.java:325)
at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:225)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:410)
Caused by: java.lang.ClassNotFoundException: org.apache.tomcat.util.log.SystemLogHandler
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:319)
at java.lang.ClassLoader.loadClass(ClassLoader.java:264)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:332)
... 7 more
我一直在谷歌搜索几个小时,我怀疑这不是“将 jar 文件复制到目录问题”,而是设置环境变量问题,但问题是我不确定在哪里设置所述变量。虽然没有为系统定义 CLASSPATH 变量(我相信这是在启动脚本中创建的),但 tomcat5.conf 中的所有内容都设置正确。任何帮助,将不胜感激。我发现的最接近的类似问题是这个人在 Tomcat 邮件列表上的,但你可以看到它已经有几年历史了。