2010-12-07 37 views
41

我正在为Oracle JRE/JDK 6 Update 22搜索rt.jar的源代码。 交付中包含的src.zip并不包含所有源,例如sun。*(例如sun。反射。反射)包丢失。从哪里获得rt.jar的完整源代码?

哪里可以得到完整的src.zip?

+0

我不这么认为。但是你可以使用反编译器(我已经做了很多:)) – Bozho 2010-12-07 16:42:13

+0

现在JDK 7拥有所有的源代码。 – 2011-11-01 08:26:51

+2

不,Oracle JDK 7仍然缺少很多像sun这样的软件包。 – 2012-01-27 22:41:35

回答

17

编辑2017年11月22日:

这个答案写于2010年在世界上是非常不同的。如果。你只需要JRE类的源代码,在JDK版本中使用JRE-包含的src.zip文件被大多数现代IDE所识别

如果你真的需要完整的源代码(如果你不确定,你不)然后找到一个合适的OpenJDK调试版本或从源代码构建OpenJDK


OLD 2010回答:

您可以从http://download.java.net/jdk6/source/

非常重要提示下载完整的源代码,JDK:这是Java研究许可下,这可能会玷污你的方式不符合你需要什么知道这件事。

21

周日*来源是JDK的一部分即专有闭源太阳代码(或2010年以来的Oracle)。

话虽如此,您感兴趣的软件包(sun.reflect)恰好包含在OpenJDK 7中,并且所有OpenJDK源代码都已打开。

你可以在这里来源:http://jdk7src.sourceforge.net/

+2

(引用需要:)但其他方面很好的答案。来自我的+1。 – aioobe 2010-12-07 16:39:00

0

鲁斯塔姆是正确的:太阳souces *不可用。但你总是可以反编译的* .class,看到漂亮的可读的代码(可惜没有的javadoc :()

1

没有源的类紧密基于OpenJDK的从代码。您可以下载此源代码,您不仅可以看到Java代码,还可以看到C代码。这对于JNI的例子来说也是一个很好的资源。

7

如果你使用Eclipse,这里是你如何链接到Java源文件:

  1. 作为托尔比约恩Ravn的安德森提到,下载JDK源http://download.java.net/jdk6/source/,并解压缩tar.gz文件到一个文件夹,说'jdk。SRC“;
  2. 打开您的java文件,该文件引用来自JDK的基本java类(比如Thread);
  3. 点击F3打开声明,期待Eclipse打开一个新的标签,带有“找不到源”消息。它要求提供rt.jar源位置,但不需要经过编译JDK源代码的麻烦。而是点击“attach source”按钮,在“source attachment configuration”弹出窗口中选择“External Folder”,然后指向jdk.src/jdk/src/share/classes目录。然后,Eclipse将自动将新发现的JDK类源代码加载到同一个窗口中。
相关问题