为什么 update-java-alternatives -s /usr/lib/jvm/java-17-amazon-corretto 不更新 jexec?

为什么 update-java-alternatives -s /usr/lib/jvm/java-17-amazon-corretto 不更新 jexec?

Ubuntu 22.04.2:

我安装了 java-17-amazon-corretto 并执行了 update-java-alternatives,但在编译项目时出错。上次我不得不修复未更新的链接(java 11 vs javac 8)。

如果我继续/etc/alternativesls -la |grep java我会看到链接的不同配置:

javah -> /usr/lib/jvm/java-8-openjdk-amd64/bin/javah
jjs -> /usr/lib/jvm/java-11-openjdk-amd64/bin/jjs
javac -> /usr/lib/jvm/java-17-amazon-corretto/bin/javac 

我猜测这些可执行文件不再随新 JVM 分发。

但是这个:

jexec -> /usr/lib/jvm/java-11-openjdk-amd64/lib/jexec

尚未更新至/usr/lib/jvm/java-17-amazon-corretto/lib/jexec

当我这样做时,sudo update-alternatives --list jexec我只得到这个:

/usr/lib/jvm/java-11-openjdk-amd64/lib/jexec
/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/jexec

为什么这个没有更新,并且在 update-alternatives 二进制文件中不可见?

有没有更好的方法来检查所有这 97 个链接,或者我是否需要手动修复它们?

经过手动检查,也存在jfr此问题。

答案1

这似乎是 java-17-amazon-corretto 打包时出现的问题。我在测试版 Ubuntu 22.04 系统上安装了它,也遇到了同样的问题。

但是,当我从 Ubuntu 的存储库安装 openjdk-17-jdk 时,所有正确的替代方案都已创建。

apt install openjdk-17-jdk

update-java-alternatives -s java-1.17.0-openjdk-amd64

相关内容