我正在尝试几天以在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项目的结果。
换句话说,不要使用
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-b02
和jdk8u121-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/