我有一个Sping Boot 应用程序,我试图将JDK设置为OpenJDK-17。我从Java下载了它,然后转到IDE和项目设置〉项目结构〉SDK,然后单击“+"〉下载JDK。然后当我将版本设置为17时,我在任何地方都看不到OpenJDK-17 I..
我得到以下选项:
亚马逊科雷托 17.0.6
阿苏尔祖鲁社区 17.0.6
贝尔软件公司Liberica JDK 17.0.5
Eclipse Temurin(采用OpenJDK热点)17.0.5
GraalVM社区版 17
IBM Semeru(采用开放JDK开放J 9)17.0.5
SAP软件分析机 17.0.5
- --------其他版本--------
Oracle开放式JDK 19.0.2
2条答案
按热度按时间djp7away1#
OpenJDK基本上是一个只提供源代码的项目(尽管他们在前六个月发布了参考二进制文件,这通常会导致三个版本,例如17.0.0 - 17.0.2)。在这三个月之后,更新的版本只能通过供应商获得(例如,Java 17.0.5)。列出的所有这些都是OpenJDK 17的变体(除了IBMSemeru,它是OpenJ 9,它本身是OpenJDK的变体)。并且禁止供应商特定的额外功能,或可选功能,如垃圾收集器,它们基本上是相同的,并且已经过测试以符合Java规范。
在Java世界中,您选择一个供应商,然后使用它的二进制文件,而不是OpenJDK本身的二进制文件(OpenJDK通常不会比x.0.2更进一步,而供应商特定的版本如果是LTS版本,则会继续接收更新)。
zhte4eai2#
我不确定Intellij(不再)包含一个指向“vanilla”OpenJDK 17下载站点的链接的理由,但我猜测它与https://jdk.java.net/17/发布页面上的以下通知有关:
JDK 17发行版
JDK 17已被取代。请访问jdk.java.net获取当前版本。
较早的版本不包含最新的安全漏洞修复,因此不再建议在生产中使用,OpenJDK Archive中仍提供这些版本。
请注意,OpenJDK团队不再发布OpenJDK 17的新构建版本。如果您需要当前的Java 17 LTS构建版本,可以从Oracle版本或第三方供应商处获取。这些版本应包含最新的安全补丁。
如果Intellij团队为用户提供了一种下载旧的、可能不安全的OpenJDK Java 17构建版本的简单方法,那么他们将对用户造成伤害。