我将为Java社区做出贡献,我对JVM感兴趣。
现在我想下载最新的JVM Hotspot源代码并跟踪更新。
首先,我转到http://openjdk.java.net/。
在它的左侧,我找到了一些有用的标签
Source code:
Mercurial
Bundles
...
JDK 6
JDK 7
JDK 7 Updates
JDK 8 · Java SE 8
JDK 8 Updates
JDK 9 · Java SE 9
JDK 10
我只能找到有关如何下载JDK8u源代码的说明:http://openjdk.java.net/projects/jdk8u/
我们在jdk8u-dev森林中开放修复8u152。 (发布时间为2017-06-06 14:23:36
)
可以使用以下命令克隆用于正在进行的开发的jdk8u-dev林:hg clone http://hg.openjdk.java.net/jdk8u/jdk8u-dev;cd jdk8u-dev;sh get_source.sh .
可以使用以下命令克隆相应的主林jdk8u:hg clone http://hg.openjdk.java.net/jdk8u/jdk8u;cd jdk8u;sh get_source.sh .
此外,通过克隆8u主林:http://hg.openjdk.java.net/jdk8u/jdk8u
并使用“jdk8u102-b14
”mercurial标记,可以获得上一版本8u102的源代码。
但似乎jdk9和jdk10也在列表中。它们是最新的源代码吗?我该如何下载它们?
JDK9页面未提供有关如何获取源代码的说明。 JDK9:http://hg.openjdk.java.net/jdk9
JDK10:http://openjdk.java.net/projects/jdk10/
此外,如果Java社区发布新更新,更新当前源代码的最佳方法是什么?再次下载或使用Mercurial工具?
jdk源代码中的forest
是什么?它与git中的branch
类似吗?
另外,我可以找到另一种从JetBrains中的github下载JVM Hotspot源代码的方法:
https://github.com/JetBrains/jdk8u_hotspot/tree/d37547149a7c5647ebffbbb62525cc62bd8e2673
但我不确定这是最新的。
答案 0 :(得分:4)
这取决于'最新更新' 的含义。
实际上,所有 jdk8u , jdk9 和 jdk10 存储库都保持最新状态;它们只是具有不同状态并接受不同变更的单独项目。
jdk10 包含有关Java SE平台未来版本的持续工作。这里做出的重要改进很可能会在稍后的某个时候被移植到jdk9(当然,如果它们符合规范的话)。
请注意,此功能库中的新功能不直接开发。新功能必须经过JEP process。某些较大的功能甚至可以托管在Panama或Valhalla等单独的项目中。
OpenJDK项目的官方存储库位于http://hg.openjdk.java.net 要获取源代码,请使用Mercurial,例如
hg clone http://hg.openjdk.java.net/jdk10/jdk10
它包含几个嵌套的存储库。 HotSpot JVM位于hotspot
:
hg clone http://hg.openjdk.java.net/jdk10/jdk10/hotspot
稍后您可以使用hg pull -u
将本地存储库与主服务器的更新同步。
在父存储库中,您还可以找到如何获取源代码和构建OpenJDK的说明:common/doc/building.md
。 jdk9 repo中有一个similar document。