在不使用第三方供应商的情况下从Oracle下载OpenJDKJava11.0.11+9

简短的介绍:

我想获得 JavaJDK 的 GPL2-CPE 许可版本,我将其称为“OpenJDK”,因为与 Oracle 的限制性 OTN 许可相比,我更喜欢该许可。问题是我想要 11.0.11+9 Windows ZIP 版本,这个 Oracle 页面和Eclipse Adoptium/AdoptOpenJDK 页面都将其列为最新版本,而无需采用。我希望 Oracle 版本“直接来自马口”,可以这么说,以避免我快速从 Oracle 下载的文档与我安装的 JDK 之间存在任何差异。我能够从 jdk.java.net 轻松获取 OpenJDK 16.0.1 ZIP,但不能从 OpenJDK 11.0.11+9 获取。在我尝试获取 OpenJDK 11.0.11+9 的过程中,我提出了各种其他问题

详细描述

我试过的:

我:以下循环:

  1. 我从这个包含 OTN 许可的 JDK 的Oracle 页面开始,看到了 OpenJDK 的广告:“寻找免费 JDK 版本的最终用户和开发人员:Oracle OpenJDK 在 GPL 许可下提供与 Oracle JDK 相同的特性和性能。”
  2. 在 jdk.java.net 上,我看到“准备使用”部分包含 JDK 16,我不想要它。我单击了我看到的唯一 JDK 11 条目,它位于“参考实现”下。我下载了该文件,ZIP 的名称为“OpenJDK-11+28_windows-x64_bin.zip”,这听起来像是 JDK 11 的旧版本。所以在参考实现页面上,我读到了“GPL 下的生产就绪二进制文件”可从 Oracle 获得;并将在大多数流行的 Linux 发行版中使用。”
  3. 我被引导到这个页面,上面写着:“JDK 11 早期访问计划已经结束。请访问 Java SE 下载以获取生产就绪构建。”
  4. 我访问了“Java SE 下载”下链接的页面,然后返回到步骤 1 中的页面。

II:在写这个问题时,一个建议的问题是这个问题。该页面上的一个答案有几个图表可以帮助解释很多事情,但这些图表再次将我重定向到 jdk.java.net 或第三方供应商。

III:此页面有旧版本的 OpenJDK 11。

IV:在此页面上,文本“General Availability”不是链接。

我所做的问题引发了以下问题:

  1. 如何直接从 Oracle 获取 Oracle OpenJDK 11.0.11+9?
  2. Adaptium 提供的版本与 Oracle 的 Oracle OpenJDK 11.0.11+9有什么不同吗?
  3. 如果无法获得我想要的东西,Adoptium 从哪里获得他们提供的东西?他们只是从源头构建他们的构建吗?
  4. 如果我正在寻找的东西是不可能的,为什么不可能?是因为 Oracle 的许可决定吗?我正在寻找的更新算作付费支持补丁吗?如果是这样,我认为 Oracle 没有发布 OpenJDK 的这些更新?

免责声明:

如果这是一个愚蠢/重复的问题,我真诚地道歉。我讨厌成为害虫,但我无法弄清楚这一点。

回答

tl;博士

Oracle OpenJDK,不要与Oracle JDK混淆。专门针对Java 11。

但同样好的 Java 实现是由以下提供的:

  • Azul Systems(以前称为ZuluZing)的Azul Platform CoreAzul Platform Prime
  • Red Hat (IBM)构建的 OpenJDK
  • 亚马逊的Coretto
  • Microsoft由 Microsoft构建的 OpenJDK
  • Adoptium由Eclipse基金会(前身AdoptOpenJDK
  • Pivotal Software, Inc.对 OpenJDKPivotal 分发
  • SAP 的SapMachine
  • BellSoft 的Liberica
  • 通过FreeBSD上的Ports & Packages源和构建
  • 在 Linux 上通过aptget等来源和构建

细节

如果这是一个愚蠢/重复的问题,我真诚地道歉。我讨厌成为害虫,但我无法弄清楚这一点。

虽然不傻,是的,这是一个重复的问题。你提出了一些具体的观点,所以我会具体回应。但我会尽量简短。有关更多详细信息,请在 Stack Overflow 上搜索许多现有的此类问题。

JavaJDK 的 GPL2-CPE 许可版本,我将其称为“OpenJDK”

您误解了 Java 生态系统工作方式的本质。

OpenJDK不是产品。OpenJDK 是一个基于全行业协作的开源项目。该项目的主要目标是生成实现Java 规范以及JDK 增强建议 (JEP)和Java 规范请求 (JSR)的代码库。您可以通过 Mercurial或GitHub.com查看和获取源代码。

OpenJDK 归Oracle Corporation所有,但与几家合作公司共同运营,包括 IBM/Red Hat、Apple、SAP 以及其他贡献人才和代码的公司。

OpenJDK项目并没有产生最终发布的版本的二进制文件。相反,一些供应商发布了官方版本的二进制文件和/或安装程序。大多数这些供应商的产品主要或完全基于 OpenJDK 源代码。Oracle 和其他组织提供测试套件来验证此类产品是否符合 Java 规范。请注意,要使用受 Java™ 法律保护的商标,公司必须与 Oracle 达成协议。相比之下,OpenJDK术语可以由任何供应商自由使用,因此您会在许多产品中看到该术语。

我想要甲骨文版本“直接从马嘴里出来”,

从 Oracle 获取 Java 实现并没有什么特别之处。

Oracle 多次以书面和口头的形式正式公开表示,他们自己的 Oracle 品牌的Oracle JDK / Oracle Java SE产品(需要在生产中使用费用)将与 OpenJDK 项目保持相同的功能。Oracle 甚至还向 OpenJDK 项目捐赠了一些相关的前商业产品,例如Flight RecorderMission Control

Oracle 保留向其付费客户紧急分发修复程序的权利。但除此之外,Oracle 贡献并依赖于 OpenJDK 代码库。

… 为了避免文档之间的任何差异,我很快就可以从 Oracle 下载

所有生产实现 Java 规范的产品的供应商都依赖于相同的文档。

该页面上的一个答案有几个图表有助于解释很多事情

谢谢,这些都是我的杰作。

但图表再次将我重定向到 jdk.java.net 或第三方供应商

? Oracle 生产了三种实现 Java 规范的产品:

  • Oracle JDK — 他们的商业支持的二进制文件。在生产中使用所需的费用(请参阅 Oracle 的许可条款)。
  • Oracle OpenJDK — Oracle 构建的 OpenJDK 代码库,GPL2-CPE 许可,免费。引用 Oracle 的话:“在 GPL 许可下提供与 Oracle JDK 相同的特性和性能”。
  • GraalVM — 一种特殊产品,提供诸如提前本机编译之类的功能。

这三个 Oracle 产品在我的流程图中显示为前三个绿色气泡。对于 GraalVM,一个绿色气泡是更高级别的“特殊需求”产品中的第一个。另外两个绿色气泡显示在蓝色桶的顶部。

你问:

  1. 如何直接从 Oracle 获取 Oracle OpenJDK 11.0.11+9?

显然,您希望 Oracle 的非商业不受支持的发行版从 OpenJDK 源代码构建,并在 GNU 通用公共许可证第 2 版下发布,并带有 Classpath Exception。如果是这样,请参阅Oracle OpenJDK的产品页面(不要与Oracle JDK / Oracle Java SE混淆。)

此页面Java Platform, Standard Edition 11 Reference Implementations提供了适用于 Linux 和 Windows 的此类 Java 11 实现的当前版本的链接。当前版本适用于构建 11+28。如果您真的想要较旧的过时11.0.11+9版本,则需要深入研究他们的档案。我建议坚持使用最新版本。

  1. Adaptium 提供的版本与 Oracle 的 Oracle OpenJDK 11.0.11+9 有什么不同吗?

没有。我在上面明确引用了 Oracle 的说法,没有区别。Oracle OpenJDK直接从 OpenJDK 源代码构建。由于是从发布Adoptium在Eclipse基金会,原名AdoptOpenJDK。而且,其他一些供应商的版本也是如此。

Oracle 一直在努力消除您和其他人的错误观念,即不知何故存在来自 Oracle 的“真实”Java 和来自其他人的“假”Java。您可以从多个供应商中的任何一个获得的几乎所有实现都主要或完全基于 OpenJDK 代码库构建。有两个例外:

  • 与 Oracle 一样,一些供应商(如 Azul Systems、Red Hat 和其他供应商)保留向付费客户分发紧急修复程序的速度,而不是通过 OpenJDK 流程。
  • 一些产品是专门的,以满足 OpenJDK 设计目标未解决的利基需求。例如,GraalVM 中的 AOT 编译,以及在Azul Systems 的Azul Platform Prime(以前称为 Zing)中使用异常垃圾收集处理大量内存。
  1. 如果无法获得我正在寻找的东西,那么Adoptium 在哪里获得他们提供的东西?他们只是从源代码构建他们的构建吗?

Adoptium 提供从 OpenJDK 的源代码构建的二进制文件和安装程序。

项目 源代码 二进制文件
开放式JDK ? ?
领养 ? ?

Adoptium 还构建了一套测试来验证其构建是否符合 Java 规范。并且Adoptium 已经将他们的测试和工具做成了开源项目。

一些供应商根据 Adaptium 的工作改编了他们自己的发行版。实际上,Adoptium 项目本身是几个看似竞争的供应商(以及其他人)的合作努力。

  1. 如果我正在寻找的东西是不可能的,为什么不可能?是因为 Oracle 的许可决定吗?我正在寻找的更新是否算作付费支持补丁?如果是这样,我认为 Oracle 没有发布 OpenJDK 的这些更新?

如果我理解正确,你想要的都是可能的,在Oracle OpenJDK开源 GPL2-CPE 产品中,不要与Oracle JDK商业产品混淆。看到你的“1”。在这个答案中的几个段落更高。

我强烈建议您阅读Java Is Still Free,这是由 Java 社区的支柱撰写的白皮书。

  • I'm an Oracle employee, but I'm speaking for myself here: The Java 11 reference implementation you link to is an outdated version of Java 11 from November 2018. Those builds are _not_ for production use, as the page says: `"These binaries are for reference use only!"`. Oracle does not provide up to date builds of Java 11 under the GPLv2-CPE license, only proprietary builds under the OTN license as part of their LTS support for Java 11, where you have to pay for commercial use (found here https://www.oracle.com/uk/java/technologies/javase-jdk11-downloads.html).

以上是在不使用第三方供应商的情况下从Oracle下载OpenJDKJava11.0.11+9的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>