与以前的Java版本不同,Java 11没有附带可下载的JRE。在运行一些基于java的软件时,我遇到了“没有Java运行时环境”的错误。为了解决这个问题,我不得不安装Java8JRE。
如果没有更多的JRE 11下载,我怎样才能让我的PC运行Java11JRE?
我正在使用Windows 10。
发布于 2018-11-02 02:56:12
现在,似乎没有免费+易于Oracle支持的Java11JRE(仅)选项。你的选择是:
- The list of Java vendors changes over time, but as of now it includes AdoptOpenJDK, Amazon, Azul, BellSoft, IBM, jClarity, Red Hat and SAP. See also: [Difference between OpenJDK and Adoptium/AdoptOpenJDK](https://stackoverflow.com/questions/52431764)- Some of these vendors offer JRE distros. Check their download sites.- Since (nearly) all Java vendors base their products on the same standard OpenJDK codebase that is used for Oracle Java, there is no reason to be concerned about the stability of a 3rd party JRE. Some vendors offer (paid for) support.(或者从Windows切换到Linux )。我可以从发行版软件包管理器上安装一个OpenJDK Java11JRE软件包,在最近版本的Ubuntu上,.)
对于那些认为Oracle 11和OpenJDK Java 11相同的人,请从Oracle下载站点阅读以下内容:
Oracle JDK 11许可证的重要更改 在JDK 11中,Oracle更新了我们提供Oracle JDK的许可条款。新的Oracle技术网络许可协议与提供以前版本的JDK的许可证有很大的不同。在下载和使用本产品之前,请仔细检查新条款。 Oracle还在jdk.java.net/11上的GPL许可证下提供了该软件。
注意,Oracle说Oracle和OpenJDK Java的许可证是不同的。(不能忍受这两者是从本质上相同的源代码库构建的。)忽视这件事,你就有危险了!
发布于 2019-02-17 20:26:07
斯蒂芬·C的回答是正确的,也是重要的。
Oracle不再打算让最终用户安装JRE或JDK。浏览器中的Java小程序和Java Web Start应用程序的交付都在逐步淘汰,使得最终用户不再需要JRE。基于Java的应用程序需要捆绑自己的Java实现。唯一有意识地安装JDK的人将是开发人员&服务器端系统管理员。
重要信息:
了解以下情况:
桌面应用程序现在有望捆绑自己的Java运行时。上面列出的那些工具可以创建一个非常小的运行时定制-适合您的特定应用程序。
下面是一个流程图,它可以帮助您在提供Java 11实现的不同供应商之间找到并作出决定。

以及一个表映射可能的动机或考虑因素导致建议的Java供应商。

兼容性问题
在评论中,有人提出了一个问题,对不同供应商的版本之间的兼容性问题表示关切。
首先,要知道OpenJDK项目包括一组称为OpenJDK社区技术兼容性工具包(TCK)的测试。供应商可以自行声明他们的发布是否通过了这些测试。这些说法没有得到证实,并依赖于荣誉制度。在我上面的图表中,我在我认识的两个供应商上都签了"TCK“:Oracle的Oracle JDK和Azul Systems的Zulu。
上面图表中蓝色桶区域中列出的所有产品几乎都是直接建立在OpenJDK源代码上的。因此,一般来说,您应该看到几乎相同的兼容性。
您可能会考虑两个方面:技术差异和更新/修补程序的日程安排。
至于技术差异,使用OpenJDK项目的供应商可以附带HotSpot引擎或OpenJ9引擎。它们的性能不同(启动速度快/速度慢,内存多/少),但它们在遵循Java规范方面的行为应该是相同的。它们可能会有所不同,而且肯定会出现另一种缺陷(可能很快就会被修复),而另一种缺陷则是另一种缺陷。就我个人而言,我不关心这一点,但我提到它的完整性。
另一个技术上的不同是Azul系统使用Zing的JVM和Oracle使用的GraalVM。它们中的任何一个可能在某种程度上彼此之间或与其他产品不同,因为它们有意地具有不同类型的JVM实现,以提供特殊的特性。但考虑到Java规范的彻底性,它们不应该是不相容的。如果是的话,您可以预期任何兼容性问题都会迅速得到解决。如果我需要这些产品的特点,我会充分自信地使用它们。
另一个可能的问题是供应商使用某些bug修复或安全补丁更新自己的版本的速度。例如,Oracle已经声明,他们保留立即将任何现成修补程序发送给自己的客户的权利,同时将这些补丁提交给OpenJDK项目以供考虑。当然,任何提供商业支持的供应商都有可能向他们的付费客户提供补丁或补丁。那些作为对社区免费提供的礼貌而构建的版本可能需要更长的时间来更新,很可能是在OpenJDK项目包含了一个修复/补丁之后。
而且每个供应商都可以随意修改他们的代码库,只要他们遵守Java规范。例如,亚马逊的Corretto团队已经对他们自己的版本进行了改进,然后在OpenJDK项目的上游共享了这些更改。如果OpenJDK决定这样做的话,在它们加入这些修改之前,可能会有时间上的差距。因此,各种版本可能有所不同。但在这一点上,Java社区中的所有供应商似乎都有真诚的承诺,共同努力防止碎片化。所以,再一次,我没有真正关心这一点,但是为了完整性而提到这一点。
发布于 2018-12-17 12:32:41
您可以使用“佐藤JDK”项目网站下载最新的jre和JDK https://github.com/AdoptOpenJDK/openjdk-jdk11。
在这里找到最新的链接> https://adoptopenjdk.net/releases.html?variant=openjdk11&jvmVariant=hotspot
编辑:问题已经解决了,
我使用他们的夜间构建来解决JDK包https://adoptopenjdk.net/nightly.html?variant=openjdk11中缺少JRE的问题。
https://stackoverflow.com/questions/53111921
复制相似问题