是否可以在线浏览OpenJDK的来源?

时间:2009-01-04 09:41:24

标签: mercurial openjdk

是否可以在线浏览OpenJDK的源代码,就像我可以使用SourceForge的项目一样?我之前从未使用过水星,所以我感到困惑。

(注意:我不想下载源代码。我只想在线浏览,看看如何实现某些方法。)

8 个答案:

答案 0 :(得分:89)

使用http://hg.openjdk.java.net/作为duncan建议。

Mercurial界面如果你不习惯它会很混乱,因为这是一个大项目,很难找到你想要的东西。

以下是一个例子:

要查找JDK6实现java.util.List,选择“jdk6”,“jdk”,选择browse。然后浏览到src / share / classes / java / util / List.java。

您应该以http://hg.openjdk.java.net/jdk6/jdk6/jdk/file/tip/src/share/classes/java/util/List.java

结束

答案 1 :(得分:8)

最新的 JDK 8 OpenJDK Java类库源代码可在此处找到:http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/tip/src/share/classes/

答案 2 :(得分:7)

以下是获取{strong>最新或任何已发布版本 Openjdk 8(或任何现有Java版本)源代码的基本步骤,并在{ {1}}。

<强>步骤

  • [浏览来源]
  • 打开jdk的网址,例如http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/
  • 点击Eclipse
  • 选择适当的标记,例如tags
  • 然后点击jdk8u73-b02
  • 然后浏览文件夹browse
  • [下载源代码]
  • 然后点击src/share/classes / bz2 / zip中的一个,以相关的压缩格式下载源代码,(例如gz中的jdk8u73-b02格式,网址为:http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/archive/2ab13901d6f1.zip/src/share/classes/
  • [在eclipse中使用]
  • 解压缩,
  • 压缩文件夹“classes /”,将“classes /”作为.zip文件的根目录,(例如先zip,然后cd jdk-2ab13901d6f1/src/share/
  • 将创建的zip文件移动到正确的位置,它会在那里停留一段时间,(例如zip -r openjdk_8u73_b2_src.zip classes/
  • 在eclipse中,为安装jre的jars指定源文件,可以分别为每个安装的jre jar指定源附件,最常见的jar可能是mv openjdk_8u73_b2_src.zip /media/Eric/software/java/jdk/openjdk/openjdk8u73-b02/source/
  • 可选地,可能需要刷新项目才能使其完全生效,不确定是否必要,
  • 测试它:在eclipse中rt.jar,然后输入ctrl + shift + t,选择相应安装的jre的Cancellable, 如果源代码可用,那么它很好,因为sun.nio.fs.Cancellable中没有此源,它必须来自附加的openjdk源,
  • 切换回源:如果不想使用外部openjdk源,可以切换回使用“jdk_home / src.zip”,
  • 确定

答案 3 :(得分:6)

这是一种浏览存储库并查看所需位的方法。 http://hg.openjdk.java.net/ 那是你在问什么?

答案 4 :(得分:6)

答案 5 :(得分:2)

Grepcode.com 非常适用于类似的事情 - 不仅仅是OpenJDK来源,在类/方法中搜索以及直接在突出显示的代码中的类之间的链接:

http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/8-b132/java/net/Socket.java

答案 6 :(得分:1)

当然http://hg.openjdk.java.net是一个不错的选择。另一个同样好的来源是zGrepCode https://zgrepcode.com/java/openjdk/。它同时具有Open JDK和Oracle Java版本。

答案 7 :(得分:1)

如其他答案所述,源代码存储库位于https://hg.openjdk.java.net

但是,OpenJDK团队在GitHub上反映了一些项目:https://github.com/openjdk

包括最新的Java版本项目(https://hg.openjdk.java.net/jdk/jdk):https://github.com/openjdk/jdk