我有一个Spring Boot应用程序,我正在尝试将JDK设置为OpenJDK-17。我已经从Java下载了它,然后我去IDE和项目设置
我有以下选择:
Amazon Corretto 17.0.6
Azul Zulu社区17.0.6
BellSoft Liberica JDK 17.0.5
Eclipse Temurin(AdoptOpenJDK HotSpot)17.0.5
GraalVM社区版17
IBM Semeru(AdoptOpenJDK OpenJ9)17.0.5
SAP SapMachine 17.0.5
Oracle OpenJDK 19.0.2
我不确定Intellij的合理性(不再?)包括指向“香草”OpenJDK 17下载站点的链接。但是,我的猜测是它与 https://jdk.java.net/17/ 发布页面上的此通知有关:
JDK 17 已被取代。请访问 jdk.java.net 以获取当前版本。
不包含最新安全漏洞修复程序且不再推荐在生产中使用的旧版本仍可在OpenJDK档案中获得。
请注意,OpenJDK团队不再发布OpenJDK 17的新版本。如果您想要当前的Java17 LTS版本,您可以将其作为Oracle版本或从第3方供应商处获得。这些都应该包括最新的安全补丁。
如果Intellij团队为用户提供一种简单的方法来下载旧的、潜在不安全的OpenJDK Java 17版本,那么他们就是在给用户帮倒忙。
OpenJDK基本上是一个仅限源代码的项目(尽管他们在前六个月发布参考二进制文件,这通常会导致三个版本,例如17.0.0-17.0.2)。在这三个月之后,更新的版本只能通过供应商获得(例如Java 17.0.5)。列出的所有版本都是OpenJDK 17的变体(除了IBM Semeru,它是OpenJ9,它本身就是OpenJDK的变体)。酒吧供应商特定的附加功能,或垃圾收集器等可选功能,它们基本上是相同的,并且已经过Java规范的合规性测试。
在Java世界中,您可以选择一个供应商,并使用其二进制文件,而不是OpenJDK本身的二进制文件(通常不会比x.0.2更进一步,而供应商特定的版本如果是LTS版本,则会继续接收更新)。就我个人而言,我通常使用Eclipse Temurin构建。