java - JRE 何时作为单独的产品完全停产?
问题描述
从 Java 9 开始引入了模块系统,使得单独提供 JRE变得多余。
通过,似乎仍然可以下载它。例如,现在从这里开始Java 9 存档 此外,这里只声明:
重构 JDK 和 JRE 运行时映像,以明确区分开发人员、部署人员和最终用户可以依赖并在适当时修改的文件,而不是实现内部的文件,这些文件可能会在没有更改的情况下进行更改注意。
新的映像结构消除了这种区别:JDK 映像只是一个运行时映像,恰好包含全套开发工具和历史上在 JDK 中发现的其他项目。
所以没有谈论完全删除。来自:jdk-9
当您安装 jdk-9 时,公共 jre-9 也会自动安装。
另外,我认为从 Java 9 开始,应该始终使用 jlink 创建自定义运行时,但现在似乎只从 Java 11 开始强制执行。从 Java 11 的发行说明here Oracle JDK release notes:
在 Windows 和 macOS 中,在以前的版本中安装 JDK 可以选择安装 JRE。在 JDK 11 中,这不再是一个选项。在此版本中,不再提供 JRE 或服务器 JRE。仅提供 JDK。用户可以使用 jlink 创建更小的自定义运行时。
但后来我可以找到很多这样的讨论:
是不是这样,从 Java 11 开始就不能直接下载 JRE 了?还是我在(Oracle 和 OpenJDK)之间混合实现?或者上面的讨论是否具有误导性?
编辑:我不需要下载 jre,我可以通过 jlink 创建它或使用已经可用的解决方案,我的问题更多是理论上的。
解决方案
是不是这样,从Java 11开始就不能直接下载JRE了?还是我在(Oracle 和 OpenJDK)之间混合实现?
这是正确的(大部分)。从 Java 11 开始,Oracle JDK 或 OpenJDK JDK 都没有相应的 JRE 可供公共下载。
但是,其他一些 Java 发行商确实提供了 JRE 下载(或包)作为选项。可以通过下面的“Java 仍然免费”链接找到详细信息。
JRE 何时作为单独的产品完全停产?
Java 11 的 Oracle 和 OpenJDK 发行版已停止使用它。Java 11发行说明指出:
“在此版本中,不再提供 JRE 或 Server JRE。仅提供 JDK。用户可以使用 jlink 创建更小的自定义运行时。”
我无法从 Oracle 找到有关其 JRE 版本中止的任何早期公开公告。(如果有人找到,请评论...)
请注意:这是对 OP 提出的具体问题的具体回答。有关 Java 相对于许可证、发行版、供应商、支持以及 Java 是否“免费”的状态的更多信息,我建议您阅读以下内容:
- 由独立 Java 领导者和专家组成的 Java Champions 社区撰写的“Java 仍然免费” 。
这是一份“实时”文件,很可能仍然是最新信息的良好来源;即比这个答案更有可能是最新的!
推荐阅读
- bash - 通过忽略分隔符前后的空格来拆分逗号分隔的字符串,并将其存储在 shell 脚本中的数组中
- python - 从新窗口、按钮和脚本到主脚本/窗口 python+tkinter 的值
- amazon-web-services - 如何使用 AWS ALB 作为入口控制器将多个服务映射到单个入口?
- javascript - 如何在nodejs中使这个子进程调用同步?
- html - HTML CSS 问题 Get 和 started 之间的空间使 get 在第一行并在第二行开始
- r - 过滤模式上的行和列中的位置
- ios - 如何在模型中快速存储 JSON 响应
- reactjs - 一个函数中有两个 useState 并在 useEffect 中调用该函数
- google-bigquery - 将 Bigquery 连接到 Power BI Desktop(错误:DNS 解析失败)
- java - 为什么 onCharacteristicRead 读取设置为 readCharacteristic 的不同特征