Centos Tomcat 5.5安装问题

Centos Tomcat 5.5安装问题,centos,tomcat5.5,Centos,Tomcat5.5,我在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/tomc

我在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邮件列表上的,但正如您所看到的,它已经存在了几年。

首先要检查的是,您在
/usr/share/tomcat5/server/lib下有
Tomcat util
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脚本

该位置唯一的东西就是我复制到它的catalina.jar文件。至于设置为/usr/share/tomcat5目录路径的CATALINA_HOME变量(它本身包含指向/var/lib…目录路径的链接。然后由于某种原因,您在/var/lib/tomcat/server/lib中丢失了一些JAR。为了确保这一点,我将从apache tomcat 5.5下载整个tarball,并在/var/lib/tomcat下分解它,如果符号链接指向的位置是.Hm,请稍候。现在只显示server/lib文件夹。T在conf、shared、webapps等下可能会有一些重要的东西。所以请继续。自从你说CentOs后,我突然觉得你可能在“prod”中。我不知道你是如何安装的,RPM还是手动安装的。我会选择手动安装,因为升级要小心。基本上,获取最新版本(5.5.33)在你的catalina家里用gunzip管道将其解压。你应该没事。我需要使用5.5.23版本来镜像生产服务器。这恰好是从CentOS reposI看到你建议编辑Alain的答案的最新版本,并拒绝了它。我想你应该做的是编辑你的问题,复制相关内容答案和评论中的信息。我会从横向规则和答案摘要开始,以使重要信息更具可视性。或者,阿兰可以编辑他的答案,将相关评论纳入主要材料中。或者两者兼而有之,让后来的人更容易找到答案信息。