我将为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工具?
什么是 forest
在jdk源代码中?它与git中的 branch
类似吗?
另外,我可以找到另一种从JetBrains中的github下载JVM Hotspot源代码的方法:
https://github.com/JetBrains/jdk8u_hotspot/tree/d37547149a7c5647ebffbbb62525cc62bd8e2673
但我不确定这是最新的 .
1 回答
这取决于'most updated'的含义 .
实际上,所有jdk8u,jdk9和jdk10存储库都保持最新;它们只是具有不同状态并接受不同变更的单独项目 .
jdk8u 具有将在JDK 8的未来更新中出现的最新更改 . 这些更新主要包括错误修复 .
jdk9 存储库包含将在JDK 9发布的最新代码 . 该项目现在处于Rampdown阶段2,这意味着只能在那里修复showstopper错误 . 尚未定义JDK 9发布后该存储库会发生什么 - 例如为像jdk9u这样的东西开始 .
jdk10 包含有关Java SE平台未来版本的持续工作 . 这里做出的重要改进可能会在稍后的某个时候被移植到jdk9(当然,如果它们符合规范) .
请注意,直接在此存储库中开发了新功能 not . 新功能必须经过JEP process . 一些更大的功能甚至可以托管在单独的项目中,如Panama或Valhalla .
OpenJDK项目的官方存储库位于http://hg.openjdk.java.net
要获取源代码,请使用Mercurial,例如:
它包含几个嵌套的存储库 . HotSpot JVM位于
hotspot
之下:稍后您可以使用
hg pull -u
将本地存储库与主服务器的更新同步 .在父存储库中,您还将找到如何获取源代码和构建OpenJDK的说明:common/doc/building.md . 在jdk9回购中有一个similar document .