哪里可以获得rt.jar的完整源代码?

MRa*_*ser 45 java

我正在为Oracle JRE/JDK 6 Update 22搜索rt.jar的源代码.交付中包含的src.zip不包含所有源,例如sun.*(例如sun.reflect.Reflection) )包丢失了.

我在哪里可以获得完整的src.zip?

rus*_*tyx 22

sun.* sources是JDK的一部分,它是专有的闭源Sun代码(或自2010年以来的Oracle).

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

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

  • 但即使专有的源_is_可用. (6认同)
  • (引用需要:)但否则一个很好的答案.来自我的+1. (2认同)

Tho*_*sen 19

编辑2017-11-22:

这个答案写于2010年,世界各不相同.如果您只需要JRE类的源代码,请在JDK构建中使用JRE - 大多数现代IDE都能识别包含的src.zip文件.

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


OLD 2010答案:

您可以从http://download.java.net/jdk6/source/下载JDK的完整源代码.

非常重要注意:这是在Java研究许可证下,它可能会以与您需要知道的方式不相容的方式污染您.

  • 注意:Oracle决定停止在新版本的JRL下提供Java 6源代码. (14认同)

Hai*_*Tie 7

如果您使用Eclipse,以下是链接到Java源文件的方法:

  1. 正如ThorbjørnRavnAndersen所提到的,下载JDK源http://download.java.net/jdk6/source/,并将tar.gz文件解压缩到一个文件夹,比如'jdk.src';
  2. 打开引用来自JDK的基类java类(比如Thread)的java文件;
  3. 点击F3打开声明,期望Eclipse打开一个带有"source not found"消息的新标签.它要求提供rt.jar源位置,但是您不需要经历编译JDK源的麻烦来获取它.而是单击"附加源"按钮,在"源附件配置"弹出窗口中选择"外部文件夹",然后指向jdk.src/jdk/src/share/classes目录.然后,Eclipse将在同一窗口中自动加载新找到的JDK类源代码.