我们正在对我们的发行版的 JDK/JRE 软件包引入一项更改。 这是由现代 Java 版本(>9)中 JRE 的构建方式触发的。 我们正在 Java 21 中引入此更改。
总结来说,我们不再让 JDK 和 JRE 软件包在同一系统中共存,而是使它们冲突。 JDK 变体软件包包含执行 Java 应用程序的运行时环境,因此如果需要 Java 的编译和运行时,将来他们只需要 JDK 软件包。 另一方面,如果他们只需要 Java 的运行时,那么 JRE(或 jre-headless)将可以工作。
这(可能)需要在升级期间手动用户操作
- 如果您同时安装了 JDK 和 JRE,您可以手动安装 JDK,命令为
pacman -Sy jdk-openjdk && pacman -Su
,这将删除 JRE 相关软件包。 - 如果您同时安装了 JRE 和 JRE-headless,您需要选择其中一个并手动安装,因为它们现在会互相冲突。
- 如果您只安装了 JDK/JRE/JRE-headless 中的一个,pacman 应该可以正常解决依赖关系,无需任何操作。
目前,这仅对即将发布的 JDK 21 版本有效,其他版本将陆续跟进。