如何让java 11运行时环境正常工作,因为没有更多jre 11可供下载?

use*_*207 33 java

与过去的java版本不同,java 11没有下载jre.运行一些基于java的软件时,我收到错误"没有java运行时环境".为了解决这个问题,我不得不安装java 8 jre.

鉴于没有更多的jre 11下载,如何让我的PC运行java 11 jre?

我使用的是Windows 10.

Ste*_*n C 33

现在,似乎没有免费的+简单的Java 11 JRE(仅)选项.你的选择是:

  1. 从OpenJDK站点下载并使用OpenJDK Java 11 JDK.
  2. 从Oracle站点下载并使用Oracle Java 11 JDK ...并确保您完全理解现在适用于Oracle Java 11+版本的"商业用途"限制.
  3. 尝试从OpenJDK源创建自己的Windows JRE for Windows; 请参阅从OpenJDK Windows创建jre.
  4. 考虑使用新的jlink工具为您的应用程序创建自定义映像(基本上是一个简化的JRE).
  5. 与Oracle销售人员讨论Java支持合同以及如何获得JRE构建.

(或者切换到Linux.我可以在最新版本的Ubuntu,Fedora上从发行版软件包管理器安装一个OpenJDK Java 11 JRE软件包......)


对于那些认为Oracle Java 11和OpenJDK Java 11相同的人,请从Oracle下载站点阅读以下内容:

Oracle JDK 11许可证中的重要更改

使用JDK 11,Oracle已更新了我们提供Oracle JDK的许可条款.Oracle Java SE的新Oracle技术网许可协议与提供以前版本的JDK的许可证大不相同.在下载和使用本产品之前,请仔细阅读新条款.

Oracle还在jdk.java.net/11上的GPL许可下提供此软件

请注意,Oracle称Oracle Java和OpenJDK Java的许可证是不同的.(尽管两者都是基于相同的源代码库构建的.)忽略这一点,这是危险的!

  • 我想补充一点,一些第 3 方 JDK 发行版非常稳定且完善。例如,AdoptOpenJDK 已经存在很长时间了,并得到了 Amazon、Azul、IBM、Microsoft 和 Red Hat 的支持。它可以被认为几乎与 Oracle 自己的发行版一样官方。 (2认同)

Bas*_*que 32

Stephen C答案是正确的,也很重要.

Oracle不再希望最终用户安装JRE或JDK.浏览器中的Java AppletJava Web Start应用程序交付都将逐步淘汰,最终用户无需使用JRE.期望基于Java的应用程序捆绑自己的Java实现.唯一有意识地安装JDK的人将是开发人员和服务器端系统管理员.

重要:

学习关于:

这是一个流程图,可以帮助您在提供Java 11实现的各个供应商中查找和决定.

流程图有助于从各个供应商中查找和选择Java 11的实现.

  • @Tschallacka不,不正确,当简单地调用Java并部署到运行Linux/BSD的通用台式计算机(Mac,PC)和移动设备(iPhone等)时,没有*要求在GPL下发布您的程序, Linux,macOS,Windows,Android,iOS等.请务必阅读您获得的任何JVM的许可条款 - 请注意,Oracle JDK不再允许免费用于生产,但您至少有六个其他人免费使用.如果从*OpenJDK*项目复制或修改源代码,这是一个不同的故事,请阅读GPL适用的术语. (4认同)
  • @Tschallacka供参考,请参阅OpenJDK项目站点上的[* Legal Documents *](https://openjdk.java.net/legal/)页面。具体来说,请参阅[* GNU通用公共许可证,版本2,带有类路径异常*](https://openjdk.java.net/legal/gplv2+ce.html)文档。了解至关重要的[* Classpath Exception *](https://en.wikipedia.org/wiki/GPL_linking_exception),这意味着仅运行时链接不会*触发源代码共享的GPL义务。 (2认同)
  • @hrzafer我不是律师,您应该自己阅读这些术语……但是,在阅读这些术语时,您可以在部署到其他JVM时使用Oracle JDK进行开发。对于不兼容性,任何使用商标“ Java”的发行版都必须通过Oracle要求的严格的兼容性测试。而且,我所知道的所有当前发行版几乎都完全基于* OpenJDK *代码库,Oracle宣布了其具有功能奇偶性的意图。因此,不,我不会担心兼容性问题。 (2认同)
  • @hrzafer 另一个想法:如果部署到 [AWS](https://en.wikipedia.org/wiki/Amazon_Web_Services) 提供的 Java,我会将我所有开发和测试机器上的 JVM 切换到 [*Corretto*](https ://aws.amazon.com/corretto/)。他们现在正在发布 Java 8,并且他们有一个适用于 macOS、Linux 和 MS Windows 的 Java 11.0.2 候选版本。 (2认同)

mat*_*son 5

可以使用“adoptopenjdk”项目网站下载最新的jre和JDK https://github.com/AdoptOpenJDK/openjdk-jdk11

在此处找到最新链接 > https://adoptopenjdk.net/releases.html?variant=openjdk11&jvmVariant=hotspot

编辑:问题已修复

我已经使用他们的夜间构建来解决 JDK 包中缺少 JRE 的问题 https://adoptopenjdk.net/nightly.html?variant=openjdk11