Tomcat 5.5安装问题

时间:2011-02-19 14:31:45

标签: centos tomcat5.5

我在centOS 5.5上运行Tomcat 5.5.23然后由于某种原因不得不重新安装。 安装后它将无法启动。检查catalina.out文件导致this错误。谷歌搜索了几个小时显示结果是将丢失的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中的所有内容都已正确设置。 任何帮助,将不胜感激。我发现的最接近的类似问题是this guy在Tomcat邮件列表上,但你可以看到它已经有几年了。

1 个答案:

答案 0 :(得分:0)

要检查的第一件事是tomcat-util

下有/usr/share/tomcat5/server/lib jar

我注意到你提到了/ var / lib / tomcat / server / lib,而catalina.out说CATALINA_HOME等同于/ usr / share / tomcat5这是更标准的方式。

如果这是CATALINA_HOME的设置,则需要确保在/usr/share/tomcat5下正确部署服务器树。

你是安装为RPM还是只是从apache下载站点解开tarball`?

你是否用/usr/share/tomcat5/bin/startup.sh开始tomcat?或者采用不太标准的程序?

最终你需要的是像

java 
  -classpath /usr/share/tomcat5/bin/bootstrap.jar
  -Djava.endorsed.dirs=$JAVA_ENDORSED_DIRS
  -Dcatalina.base="$CATALINA_BASE"
  -Dcatalina.home="$CATALINA_HOME"
  -Djava.io.tmpdir="$CATALINA_TMPDIR"
   org.apache.catalina.startup.Bootstrap

这些变量可能在/ etc / environment中定义(假设redhat / centos在这里与debian没有区别)或只包含一个包装startup.sh或catalina.sh的shell脚本