2010-12-07 117 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類源代碼加載到同一個窗口中。
相關問題