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

(笔记:我不想下载源码。我只是想网上浏览一下,看看有些方法是如何实现的。)

有帮助吗?

解决方案

使用 http://hg.openjdk.java.net/ 作为邓肯的建议。

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

以下是一个例子:

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

你最终应该在 http://hg.openjdk.java.net/jdk6/jdk6/jdk/file/tip/src/share/classes/java/util/List.java

其他提示

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

这是获得的基本步骤 最新的 或者 任何已发布的版本Openjdk 8 (或任何现有的java版本)源代码,并在中使用它们 Eclipse.

脚步:

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

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

将“/file”附加到根 URL 即可查看浏览器,如下所示:

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

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

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

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

然而,OpenJDK团队反映了GitHub上的一些项目: https://github.com/openjdk

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top