【问题标题】:Tomcat on Linux (centos). Incorrect java versionLinux (centos) 上的 Tomcat。错误的java版本
【发布时间】:2010-12-06 18:12:33
【问题描述】:

我已经使用 yum 配置工具在 CentOS 5 上安装了 Tomcat5。 我的 java web 应用程序需要 java 1.6 才能正常运行。但是,我的 tomcat 安装似乎使用的是 java 1.4。当我导航到 tomcat 管理器页面时,这一点得到了确认:

Tomcat Version      JVM Version
Apache Tomcat/5.5.23    1.4.2

在linux提示符下,当我执行命令时:

java -version 

它揭示了:

java version "1.6.0"
OpenJDK  Runtime Environment (build 1.6.0-b09)
OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)

我修改了 /etc/profile 并设置了 JAVA_HOME、JRE_HOME 和 CATALINA_HOME。当我执行tomcat5 version 时,输出结果如下:

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/jre-1.6.0
Server version: Apache Tomcat/5.5.23
Server built:   Jul 27 2009 05:24:08
Server number:  5.5.23.0
OS Name:        Linux
OS Version:     2.6.18-128.1.6.el5
Architecture:   amd64
JVM Version:    1.6.0-b09
JVM Vendor:     Sun Microsystems Inc.

但是,当我启动 tomcat 并查看服务器信息时,JVM 仍然显示:

 JVM version 1.4.2

感谢任何帮助。

谢谢,

【问题讨论】:

  • 你设置了“java_home”还是“JAVA_HOME”?案件很重要。
  • 我设置了“JAVA_HOME”但没有运气。

标签: java linux apache tomcat


【解决方案1】:

尝试编辑/usr/bin/dtomcat5 脚本。

【讨论】:

    【解决方案2】:

    尝试在 /etc/sysconfig/tomcat5 中设置 JAVA_HOME

    【讨论】:

      【解决方案3】:

      看起来很多人(CentOSother platforms)在安装 yum 版本的 tomcat 时遇到问题。我尝试自己安装它,并且倾向于同意 - 它看起来很乱。

      与上述链接中的其他人一样,我建议删除 yum 版本并直接从 http://tomcat.apache.org/ 下载 tarball 版本。我将这种方法用于我所有的 tomcat 安装(非常频繁),并且这种方法几乎没有问题。

      您可以在您认为适合您的系统的任何位置提取压缩包(可能是/opt),然后使用bin/ 目录中的startup.sh 脚本启动它。它应该比 yum 版本更好地遵守环境变量,但您也可以在应用程序随附的属性文件或脚本之一中设置它们。

      【讨论】:

      • Rob,感谢您的建议。我尝试使用 tomcat 6 进行此操作。但是,当我尝试运行 startup.sh 时,我的终端每次都会崩溃。
      • 这很奇怪,我不能说我见过。它对 tomcat5 做同样的事情吗?
      • @LB 使用${CATALINA_HOME}/bin/catalina.sh run 调试您的安装。这会将 Tomcat 命令作为前台进程运行,因此您可以在控制台窗口中实时查看所有诊断消息。
      • @Alexander @Rob 我正在尝试使用 tomcat55。无论我运行 catalina.sh 还是 startup.sh,终端窗口都会立即崩溃。
      • @LB - 如果你启动它,像 Alexander 描述的那样调试它,但将输出重定向到一个文件,会发生什么?您可以返回并在新终端中读取该文件吗?里面有什么有用的吗?
      【解决方案4】:

      如果是常规的 Tomcat 安装,并且您没有使用任何 CentOS 或 yum 特定脚本,您可以将 bin/startup.sh(位于 Tomcat 安装目录中)中的 JAVA_HOME 设置为 Java 6 的安装目录。这应该强制 Tomcat 使用正确的 JDK 安装。

      【讨论】:

      • 我通过 yum 通过 Tomcat5 安装。当我导航到 tomcat 安装目录时,bin 目录中没有 startup.sh。 Tomcat 作为服务运行。有什么想法吗?
      猜你喜欢
      • 1970-01-01
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-31
      相关资源
      最近更新 更多