我正在使用 Ubuntu 14.04 和 Tomcat7。
由于某种原因,我需要将 java-7 升级到 java-8。因此我安装了 openjdk-8 并使用update-alternatives --config java
命令将其设置为默认值。令我惊讶的是,tomcat 仍在使用 java7。
为了解决这个问题,我修改了/usr/share/tomcat7/bin/setenv.sh
文件并添加了以下行。
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
现在 tomcat7 正在使用 java-8,但是由于 setenv.sh 文件中的上述修改,我无法使用 停止 tomcat 服务器service tomcat7 stop
。它显示 [OK] 消息,但 tomcat 进程仍在运行。
有什么建议 ?
编辑-1:我还注意到正在service tomcat7 start
启动 tomcat 服务器但在控制台上打印以下文本。
* Starting Tomcat servlet engine tomcat7 [fail]
編輯-2:我设置了 JAVA_HOME(指向 Java8),setenv.sh
然后服务不起作用,但是当我从中删除 JAVA_HOMEsetenv.sh
并将其放入catalina.sh
时,一切都按预期工作。
答案1
什么时候服务 tomcat7 状态提示 tomcat 运行不正常,请搜索journalctl xe发生了什么事。如果您无法自行修复,应该在此处发布任何日志,以帮助其他人修复相同问题并快速修复。没有任何日志,您可以在两周内修复它。有了日志和正确、详细的答案,可能需要一两天的时间。
你确定你正确安装了 Java?你的 Java 版本是多少?
Tomcat 7.0 设计用于在 Java SE 6 及更高版本上运行。
此外,Tomcat 7.0 使用 Eclipse JDT Java 编译器来编译 JSP 页面。这意味着您不再需要完整的 Java 开发工具包 (JDK) 来运行 Tomcat,Java 运行时环境 (JRE) 就足够了。Eclipse JDT Java 编译器与二进制 Tomcat 发行版捆绑在一起。还可以将 Tomcat 配置为使用 JDK 中的编译器来编译 JSP,或使用 Apache Ant 支持的任何其他 Java 编译器。
网上很多帖子说在 2014 年和 2015 年,使用 java8 编译 tomcat7 时存在错误。也许这就是问题所在?没有日志我们能做什么?