java-headless 的 Yum 依赖项和元数据

java-headless 的 Yum 依赖项和元数据

我正在尝试在 RockyLinux 9 服务器上安装 Java 8 和 Tomcat 9。

安装 tomcat(来自 EPEL)需要java-headless >= 1:1.8.0解析为java-11-openjdk-headless。因此 Java 11 作为依赖项安装...即使我已经安装了java-1.8.0-openjdk-headless,它应该“逻辑上”提供java-headless >= 1:1.8.0

$ yum deplist tomcat
Last metadata expiration check: 1:37:02 ago on Tue 28 Mar 2023 04:13:15 PM CEST.
package: tomcat-1:9.0.65-2.el9.noarch
[...]
  dependency: java-headless >= 1:1.8.0
   provider: java-11-openjdk-headless-1:11.0.18.0.10-2.el9_1.x86_64
[...]

我猜java-1.8.0-openjdk-headless缺少Provides: java-headless元数据。它不在yum whatprovides java-headless输出中。但我不确定如何检查 的完整元数据java-1.8.0-openjdk-headless

有没有办法:

  • 强制 yum 忽略java-headless依赖关系?
  • 标记java-1.8.0-openjdk-headless为提供此依赖项?

或任何其他可以让我避免的选择:

  1. 安装 Java 11 却毫无用处
  2. 强制 Java 版本通过alternatives或通过 tomcat 配置?

编辑:Java 8 和 11 都可以无冲突地安装。我只是想避免安装 Java 11。Tomcat 9 与 Java 8 兼容,在从 中选择 Java 8 后运行良好update-alternatives

答案1

在 RockyLinux 9 服务器上安装 Tomcat 9 时出现版本依赖冲突。

解决该问题的最佳方法是单独安装 Java 8,但由于您已经拥有它,因此您可以Java 8 Development Kit单独安装(JDK),然后将JAVA_HOME环境变量设置为指向 Java 8 安装目录。

Java 8 JDK因此,首先从 Oracle 网站或通过 OpenJDK 存储库下载,然后在文件中或 Tomcat 启动脚本中设置JAVA_HOME环境变量(应该是/etc/profile/usr/share/tomcat/bin/catalina.sh)export JAVA_HOME=/path/to/java8

相关内容