我可以使用哪个版本的 openjdk8 源来构建更新 131,与 oracle 的最新版本相同?jdk8/jdk8u?

Ani*_*mal 5 openjdk build

我尝试了几天在 RHEL 7.3 上构建我自己的 jdk8。直到现在我在这里使用源:http : //hg.openjdk.java.net/jdk8/jdk8/

但也有http://hg.openjdk.java.net/jdk8u/jdk8u/

1)两者有什么区别?

2) 我必须选择哪一个来获取更新 131(目前与 oracle 相同)?

当我下载源代码并执行以下操作时hg tags

a)在jdk8中,有一个jdk8-b131,标签为939

b) 在 jdk8u 中,有很多 jdk8:

带有标签955 的jdk8-b131

jdk8u131-b00带标签1888

高达jdk8u131-b11带标签1915

谁能向我解释一下管理这个的天才是什么?我从哪里获得在家里构建我的 jdk 的源代码?为什么?

谢谢,动物

Oma*_*jid 5

其中一些非常愚蠢。这是 OpenJDK 8 的初始开发和更新是两个不同的 OpenJDK 项目的结果。

换句话说,不要使用jdk8/jdk8! 它们包含未修补的漏洞。

让我们分解 OpenJDK 8 中使用的标签格式 jdk8(uXYZ)-bABC

  • jdk8 表示这是 JDK 8 或 Update
  • uXYZ 表示 JDK 8 Update 这个标签表示什么
  • bABC是此特定更新的内部版本号。内部版本号对 Oracle 之外的我们毫无意义。它们对应于一些内部版本号。

jdk8-bXYZjdk8u 和 jdk8 之间的标签应该相同,因为更新存储库包含来自初始 jdk8 存储库的所有标记。该jdk8uXYZ-bABC标签是你想要的人。这些标签按数字顺序排列。jdk8u131-b00jdk8u131-b11.

因此,如果您想要最新的 JDK 8 更新,请查看http://hg.openjdk.java.net/jdk8u/jdk8u/(或基本相同的内容,但更新(可能)更快:http://hg.openjdk .java.net/jdk8u/jdk8u-dev/),找到值最高的jdk8uXYZ-bABC标签XYZ(pick jdk8u121over jdk8u23),然后选择ABC值最高的那个(pick jdk8u121-b02over jdk8u121-b01and jdk8u49-b24)。请记住,它可能是一个正在开发的版本!

如果您知道您想要类似于 Oracle 的 JDK 8 Update 131 的内容,请查找jdk8u131-ABC具有最高值ABC(似乎是jdk8u131-b11)的标记。在 Oracle 公开发布类似编号的更新后,标签不会更改。

每个人都同意这是一个糟糕的版本控制系统。我知道有些人也公开反对这个奇怪的存储库系统,我同意他们的看法。

OpenJDK 9 的标签通过JEP 223得到修复(参见“Mercurial 变更集标签”)。