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

最多ojit带标签的jdk8u131-b11 1915

谁能告诉我是什么才华正在解决这个问题?在哪里可以得到在家建立我的jdk的资源?又为什么呢?

谢谢,
动物

最佳答案

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

  • JDK 8 Project最初负责开发和发布OpenJDK 8。
  • 他们使用http://hg.openjdk.java.net/jdk8/jdk8/作为其存储库
  • 他们使用http://mail.openjdk.java.net/mailman/listinfo/jdk8-dev作为他们的邮件列表。
  • JDK 8 Updates Project负责开发和发布OpenJDK 8的发行后更新。
  • 他们使用http://hg.openjdk.java.net/jdk8u/jdk8u/作为存储库
  • 他们使用http://mail.openjdk.java.net/mailman/listinfo/jdk8u-dev作为他们的邮件列表。

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

    让我们分解一下OpenJDK 8 jdk8(uXYZ)-bABC中使用的标签格式
  • jdk8表示这是JDK 8或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-b02jdk8u121-b01上选择jdk8u49-b24)。请记住,它可能是开发中的版本!

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

    每个人都同意这是一个不好的版本控制系统。我知道有些人也公开反对这种怪异的存储库系统,我也同意。

    已通过JEP 223为OpenJDK 9修复了这些标签(请参阅“Mercurial变更集标签”)。

    关于build - 最新版本的openjdk 8's source do I get to build update 131, same as oracle'是什么? jdk8/jdk8u?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44097483/

    10-11 02:35