JDK(rt.jar)原始碼和IDE關聯

candyleer發表於2019-02-23

jdk

背景

每個版本的 jdk 的安裝包中都有一個 src.zip 可以匯入到 IDE 中關聯原始碼,開發的時候也便於檢視原始碼,但是 src.zip 中的原始碼並不是rt.jar的全部內容,嘗試通過其他途徑獲取不在此包的原始碼。

現有原始碼

通過 IDE可以方便的額看到,rt.jar中的結構如下:

rt.jar

然而 src.zip 中結構大概為:

.
├── com
├── java
├── javax
├── launcher
└── org
複製程式碼

對比可以看到,apple,jdk,sun 這幾個包的的原始碼都不在其中,但是日常工作中有一些程式碼又需要檢視,或許應該想起了 openjdk, 這幾個包中的程式碼在openjdk基本都可以找到,我們把openjdk程式碼下載下來,然後關聯到IDE, 豈不是爽歪歪,不用為看不到原始碼而傷心啦.

獲取 openjdk

獲取openjdk 的方法很多,比如可以直接下載原始碼包,也可以通過一些版本管理工具獲得.本文以jdk8舉例.

  1. 獲取官方原始碼 通過hg 獲取原始碼
  2. 通過github獲取,為了方便使用者, github 上面有一些同步了官方庫到 github倉庫的,比如 github.com/unofficial-…(專案接近2G, 下載時間較長)
git checkout jdk8u/jdk8u
複製程式碼

IDE 和原始碼關聯

以 idea 為例: 點選右上角的專案結構

PS.png
開啟後檢視

加入目錄jdk/src/share/classes

目錄

加入後
確認後,再去看原始碼,都能顯示出來啦!

相關文章