【发布时间】:2020-08-18 13:00:39
【问题描述】:
我分发我自己的 RPM 包,其中包含 jar 文件。我的目标是 RHEL 8。
默认情况下,在 RHEL 8 上安装 Java 8。我的 jar 需要 Java 11。
为了在丢失的情况下“自动”安装它,在我的 RPM“规范”中,我添加了对 Java 11 的依赖,如下所示:
Requires: java-11-openjdk-headless
...确实是与我一起下载并安装的 Java 11 包。
为了执行我的 jar,我运行了以下命令:
java -jar <my.jar>
但是,Java 8 似乎是被选中的,而我的应用程序无法正常运行。如果我使用“替代方案”并选择 Java 11 - 一切正常。但我想为我的客户提供一个“自包含”的 RPM 包,而无需执行额外的手动步骤。我不希望他们选择正确的 Java 版本,我希望这会以某种方式自行发生。
当我的 jar 被执行时,是否有可能以某种方式自动选择正确的 Java 版本?
【问题讨论】: