我可以获得什么版本的 openjdk8 源代码来构建更新 131,与 oracle 的最新版本相同? jdk8/jdk8u?

What version of openjdk8's source do I get to build update 131, same as oracle's latest? jdk8/jdk8u?

我正在尝试几天在 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:

jdk8-b131 带有标签 955

jdk8u131-b00 带标签 1888

最多 jdk8u131-b11 标签 1915

任何人都可以向我解释一下是什么天才在管理这个吗?我从哪里获得在家构建 jdk 的源代码?为什么?

谢谢, 动物

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

也就是说,不要使用jdk8/jdk8!它们包含未修补的漏洞。

让我们分解一下 OpenJDK 8 jdk8(uXYZ)-bABC

中使用的标签格式
  • jdk8表示这是一个JDK8或者Update
  • uXYZ 表示 JDK 8 更新此标签表示
  • bABC 是此特定更新的内部版本号。在 Oracle 之外,内部版本号对我们毫无意义。它们对应于一些内部版本号。

jdk8u 和 jdk8 之间的 jdk8-bXYZ 标签应该相同,因为更新存储库包含初始 jdk8 存储库中的所有标签。 jdk8uXYZ-bABC 标签是您想要的。这些标签按数字顺序排列。 jdk8u131-b00 是比 jdk8u131-b11 更早的版本。

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

如果您知道自己想要类似于 Oracle 的 JDK 8 Update 131 的内容,请查找具有最高值 ABCjdk8u131-ABC 标记(似乎是 jdk8u131-b11).在 Oracle public 发布类似编号的更新后,这些标签没有改变。

每个人都认为这是一个糟糕的版本控制系统。我认识一些人 public 也反对这个奇怪的存储库系统,我同意他们的看法。

正在通过 JEP 223 修复 OpenJDK 9 的标签(参见 "Mercurial changeset tags")。