JDK1.8原始碼分析03之idea搭建原始碼閱讀環境

方子龍發表於2019-08-07

序言:上一節說了閱讀原始碼的順序,有了一個大體的方向,我們們就知道該如何下手。接下來,就要搭建一個方便閱讀原始碼及debug的環境。有助於跟蹤原始碼的呼叫情況。

目前新開發的專案, 大多數都是基於JDK1.8開發,所以我選擇該版本進行原始碼分析。

JDK1.8版本號:jdk1.8.0_151

一. JDK1.8的src在哪裡?

找到JDK安裝包所在目錄,會看到src.zip的壓縮包,這裡面就是JDK的原始碼,如下圖。
JDK1.8原始碼分析03之idea搭建原始碼閱讀環境

二. idea搭建步驟

01. 新建一個簡單的Java工程
開啟idea,選單欄File => Project,出現如下圖

JDK1.8原始碼分析03之idea搭建原始碼閱讀環境

在點Next, 選個初始化一個Hello word應用,出現如下圖:

JDK1.8原始碼分析03之idea搭建原始碼閱讀環境

再點Next, 輸入專案名, 及儲存路徑:
JDK1.8原始碼分析03之idea搭建原始碼閱讀環境

最後出現的介面如下:
JDK1.8原始碼分析03之idea搭建原始碼閱讀環境

02. 把原始碼src.zip解壓到該工程下的src目錄下
JDK1.8原始碼分析03之idea搭建原始碼閱讀環境

你以為這樣就萬事大吉了嗎?NO, NO, NO

我匯入後,執行Main.java檔案裡面,看能不能正常執行起來,結果在編譯的時候,出現了各種ERROR, 找不到xxx類等問題。
JDK1.8原始碼分析03之idea搭建原始碼閱讀環境

看著這麼多錯誤,我有打算放棄的念頭。但是,針對技術,我是一個很倔強的人。

索性思考了一番,這不就是我沒遇到過的問題嗎?如果解決了,那不是又增長了知識。

開始了我的瘋狂自虐操作。

比如 找不到xxx類,可以去網上找相關的類,新增進去就好。只要不是與專案JDK有衝突問題,就都還好。

索性最後問題都被我逐一解決了,最終執行成功。

JDK1.8原始碼分析03之idea搭建原始碼閱讀環境

三. 搭建過程中問題總結

各種ERROR解決思路,為以後的朋友們鋪平道路

我是一個修路工人。

問題1:缺少com.sun.tools包

JDK1.8原始碼分析03之idea搭建原始碼閱讀環境

解決思路:File => Project structure => Libraries 把jdk路徑下的lib包新增到工程中,如下圖:
JDK1.8原始碼分析03之idea搭建原始碼閱讀環境

問題2:缺少sun.awt.UNIXToolkit 和 sun.font.FontConfigManager這兩個類

解決思路: 在src的目錄下手動新增這兩個類
JDK1.8原始碼分析03之idea搭建原始碼閱讀環境

問題3:debug的時候,出現如下,呼叫的src.zip中的檔案

JDK1.8原始碼分析03之idea搭建原始碼閱讀環境

解決思路: 排除掉src.zip檔案,按下圖操作即可。
JDK1.8原始碼分析03之idea搭建原始碼閱讀環境

問題4:debug的時候,誤點Alternative source availble for the class xxxx 的disable

JDK1.8原始碼分析03之idea搭建原始碼閱讀環境

解決思路: 開啟setting => Debugger, 如下圖 選中該選項。
JDK1.8原始碼分析03之idea搭建原始碼閱讀環境

醜媳婦總要見公婆的。原始碼程式碼已經提交到github上, 歡迎大家fork和關注。

github: https://github.com/raysonfang/jdk1.8-source-analysis

剛起步,歡迎吐槽。爭取打造成JDK原始碼分析系列資源合集,想學習JDK原始碼的, 就可以自行下載。

相關文章