在尝试从 Centos7 切换到 Amazon Linux 2023 的过程中,我试图了解我对 Java 的选择。
我目前在 Centos7 中运行 Java 11 openjdk。理想情况下,我希望尽可能匹配我的旧 java 版本。过去,我们曾因错误地使用 Oracle java 而不是 OpenJDK 而出现错误。所以我真正想要的是 OpenJDK,但尚不清楚是否有人为 AL2023 构建 OpenJDK(或将来会?)。
来自
java-11-amazon-corretto
的最新 amazon corretto java rpm 版本为 11.0.20+9-1.amzn2023,非常接近,但如果可能的话,我想尽量减少更改。
当我执行
dnf search openjdk
时,我没有得到任何点击:
[ec2-user@blah ~]$ dnf search openjdk
Amazon Linux 2023 repository 17 MB/s | 14 MB 00:00
Amazon Linux 2023 Kernel Livepatch repository 496 kB/s | 159 kB 00:00
Last metadata expiration check: 0:00:01 ago on Mon Sep 11 20:47:56 2023.
No matches found.
我知道 AL2023 是基于 Fedora 的,但 AL2023 似乎也不与 Fedora 软件包兼容(根据 https://docs.aws.amazon.com/linux/al2023/ug/relationship-to -fedora.html)
那么...有 Amazon Corretto Java 的 openjdk 替代品吗?哪个回购协议可以提供这一点?如果没有,那么将来可能会创建这种东西吗?
Corretto 是 OpenJDK 的构建。 OpenJDK 是任何人都可以编译成二进制文件的源代码。因此,如果您想在 Amazon Linux 2023 中安装 OpenJDK,Corretto 是一个不错的选择。
实际上,Corretto 将自己标识为 OpenJDK:
$ sudo dnf install java-21-amazon-corretto
...
$ java --version
openjdk 21.0.1 2023-10-17 LTS
OpenJDK Runtime Environment Corretto-21.0.1.12.1 (build 21.0.1+12-LTS)
OpenJDK 64-Bit Server VM Corretto-21.0.1.12.1 (build 21.0.1+12-LTS, mixed mode, sharing)
另请参阅:https://docs.aws.amazon.com/linux/al2023/ug/java.html
Corretto 是开放 Java 开发工具包 (OpenJDK) 的一个版本,得到了 Amazon 的长期支持。
历史上,AL 2023 提供了额外的 OpenJDK 软件包,但它们已在版本 2022.0.20220810 中删除:
在此版本中,我们删除了剩余的 openjdk 软件包,因为我们已将 Amazon Linux 2022 转变为使用 Amazon Corretto 作为发行版中的 JVM。
(对问题的评论已经包含很多有用的信息。无论如何,添加此答案作为摘要,为未来的访问者提供参考。)