为什么JRE 10过时且JRE 8是最新的?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么JRE 10过时且JRE 8是最新的?相关的知识,希望对你有一定的参考价值。
我(作为一个非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目标桌面部署的主要版本。
怎么会这样?
解释就在您链接和引用的页面上。
相关部分突出显示。 “桌面部署”。
如果您仍需要在计算机上安装Java,请下载java.com上提供的最新版本的JRE 8,这是目前唯一支持Java目标桌面部署的主要版本。
简短回答:
- Java 9和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。
进一步的细节:甲骨文决定自己停止发布几种JRE变体。同时还需要许可证才能用于新版本的生产。例如,32位变体已不复存在,传统的桌面变体不可用,因为没有没有java webstart,javkx自jdk 11+以来被分离出来,Oracle更专注于64位和服务器。
综合9和10不是长期支持版本(并且它们已经过期)的事实,这使得您现在可以选择Java 8用于此特定用例。
来自oracle的Java 8的JDK公开更新将于2019年1月(以及2020年12月供个人使用)结束,所以至少在那之前是当前桌面java版本的选择,来自Oracle。
当前版本的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创建较小的自定义运行时。
- JDK中不再包含JavaFX。它现在可以从openjfx.io单独下载。
资料来源:https://www.oracle.com/technetwork/java/javase/11-relnote-issues-5012449.html
简单:Oracle's own support roadmap将Java 8列为具有“首要”支持,直到2022年。
相反,Java 9和10已经在2018年3月和9月失去了他们的首要支持.Oracle的新更新模型确保从Java 9开始的非LTS版本只有在Java的新版本到来之前才得到官方支持。
对于Java来说,“当前”是一个强有力的词;从技术上讲,最终消费者应该使用的Java的最新版本是Java 11(截至编写本文时),因为这是当前的LTS。但是,并非所有使用Java的应用程序都可能是最新的,因此在您的应用程序供应商通知您升级安全之前,最安全的做法是回退到Java 8。
也许那是因为Java 11弃用了Java 10中存在的模块,例如JAXB或Java FX。最新的Java 8仍然具有这些模块,因此在Java 10上运行的软件可以与Java 8一起使用。
以上是关于为什么JRE 10过时且JRE 8是最新的?的主要内容,如果未能解决你的问题,请参考以下文章
我如何将我的 JRE 从 1.8.0.241 更改为最新的 13 [重复]