tomcat - 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 所必需的。
解决方案
推荐阅读
- mongoose - 如何使用 mongoose 创建 mongodb 视图
- node.js - 如何取消“缓慢”的承诺链
- matlab - 从给出错误日期的 csv 文件中读取日期
- php - 如何编写 if 语句以使用 PHP 在网页上显示某些过滤器和文本?
- c - 从另一个函数(另一个源文件)逐行获取输出?
- orm - 如果 pydantic 模型定义了别名,如何使用`from_orm`?
- javascript - 在删除帐户之前在 Firebase Auth 中验证用户密码
- r - R中基于国家/地区的记录器数据集
- vba - 从 Word VBA 编辑 PowerPoint 演示文稿页脚
- arrays - JQ将数据从一个文件推送到另一个文件的嵌套数组中