首页 > 解决方案 > Tomcat 仍在运行,但 Java 已删除

问题描述

我在带有 OpenJDK 7 的服务器上运行 Tomcat(在过时的 Ubuntu 版本 12.04 上)。我在这台机器上安装了 OpenJDK 8,希望能够在 Java 版本之间切换,但是当我去做“update-alternatives”时,那里只有 OpenJDK 8 - 它似乎删除了 OpenJDK 7,即潜在的灾难性(在 Tomcat 上运行的应用程序不会在 Java 8 下运行)。

我发现令人困惑的是 Tomcat 仍然可以正常运行,即使它使用的 Java 目录已被删除。我不知道这怎么可能。如果我这样做ps aux | grep tomcat,我会看到:

/usr/lib/jvm/java-7-openjdk-i386/bin/java -Djava.util.logging.config.file=/var/lib/tomcat7/conf/logging.properties -Djava.awt.headless=true -Xms256m -Xmx640m -XX:+UseConcMarkSweepGC -Dhttps.protocols=TLSv1.1,TLSv1.2 -XX:MaxPermSize=256m -XX:PermSize=128m -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/share/tomcat7/endorsed -classpath /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar -Dcatalina.base=/var/lib/tomcat7 -Dcatalina.home=/usr/share/tomcat7 -Djava.io.tmpdir=/tmp/tomcat7-tomcat7-tmp org.apache.catalina.startup.Bootstrap start

然而该目录/usr/lib/jvm/java-7-openjdk-i386已不存在。怎么会这样?我需要重新安装 Open JDK 7,因为 Tomcat 可能无法在重新启动后存活。不幸的是,这并不是微不足道的,因为我现在在尝试安装时收到此消息:

The following packages have unmet dependencies.
 openjdk-7-jdk : Depends: openjdk-7-jre (= 7u121-2.6.8-1ubuntu0.12.04.3) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

我认为这是安装 PPA 的结果,它是安装 OpenJDK 8 所必需的。

标签: tomcattomcat7

解决方案


推荐阅读