为什么JRE 10已过时而JRE 8是最新的?

时间:2019-01-14 20:44:28

标签: java

我(作为一个非Java的家伙)感到困惑,我的本地JRE 10安装需要更新,但是更新时,我得到了JRE 8!甚至在https://java.com/en/download/more_info10.jsp上也有报道:

  

安装了JRE 9和/或JRE 10(非长期支持发行版)的用户应删除那些过时的Java版本。

我会理解JRE 11是否是当前版本,但不是,它是JRE 8:

  

如果您仍然需要计算机上的Java,请下载java.com上的最新版本的JRE 8,这是当前唯一支持的针对桌面部署的Java主要版本。

怎么可能?

3 个答案:

答案 0 :(得分:4)

简单:Oracle's own support roadmap列出Java 8在2022年之前具有“高级”支持。

相反,Java 9和Java 10在2018年3月和9月失去了主要支持。Oracle的新更新模型可确保从Java 9开始的非LTS版本仅在新Java版本到来之前得到正式支持。

>

在谈到Java时,“当前”一词有点强。从技术上讲,最终消费者应该使用的Java的最新版本是Java 11(在撰写本文时),因为这是当前的LTS。但是,并非所有使用 Java的应用程序都是最新的,因此最安全的方法是使用Java 8,直到应用程序供应商通知您可以安全升级为止。

答案 1 :(得分:4)

您所链接和引用的页面上的解释就在那里。

相关部分突出显示。 “桌面部署”。

  

如果您仍然需要计算机上的Java,请下载最新版本   java.com上的JRE 8版本, ,这是当前唯一受支持的版本   面向桌面部署的Java主要版本。

简短回答:

  • Java 9和Java 10不是Long Term Support (LTS)版本,并且已经过期。
  • Java 8商业支持将于2019年1月结束,不过直到2020年12月为止都是供个人使用的公共更新。
  • Java 11是当前版本,也是LTS支持版本。

所以今天的选择是在Java 8和11之间。 但是11删除了applet和浏览器集成以及其他桌面技术 (JavaFX,java webstart等)。请参阅下面的列表并链接到源。另请参阅《 2018-03年Oracle白皮书》 Java Client Roadmap Update

更多详细信息: Oracle已决定停止自行发布JRE的多个变体。以及为较新版本提供生产使用许可证。例如,不再有32位变体,就不再提供传统的桌面变体,因为从jdk 11+开始就没有java webstart和javafx被分离出来了,Oracle更加专注于64位和服务器。

将9和10都不是长期支持版本(它们已经过期)放在一起,这使您现在可以选择Java 8来处理这种特殊用例。

Oracle的Java 8的JDK公共更新将在2019年1月(以及2020年12月供个人使用)结束,因此至少要到那时为止,Oracle才是当前选择的桌面Java版本。

java 11的当前版本只能从oracle下载为64位JDK(开发工具包下载)。没有合适的桌面JRE(仅运行时)。

从Oracle的JDK 11版本中删除: 重要更改和信息 以下是此版本中的一些重要更改以及相关信息。在某些情况下,这些发行说明中提供了有关以下描述的更改的更多详细信息。

  
      
  • Applet和Web Start应用程序所需的部署堆栈已在JDK 9中弃用,并已在JDK 11中删除。
  •   
  • 在没有部署堆栈的情况下,支持的浏览器的整个部分都已从以下支持的配置列表中删除:   JDK 11。
  •   
  • 在Windows和macOS上用于JRE安装的自动更新不再可用。
  •   
  • 在Windows和macOS中,安装以前版本中的JDK可以选择安装JRE。在JDK 11中,这不再是一个选项。
  •   
  • 在此版本中,不再提供JRE或Server JRE。仅提供JDK。用户可以使用jlink创建较小的自定义   运行时。
  •   
  • JavaFX不再包含在JDK中。现在可以从openjfx.io单独下载该文件。
  •   

来源:https://www.oracle.com/technetwork/java/javase/11-relnote-issues-5012449.html

答案 2 :(得分:0)

这也许是因为Java 11弃用了Java 10中存在的模块,例如JAXB或Java FX。最新的Java 8仍然具有这些模块,因此可以在Java 10上运行的软件可以在Java 8上运行。