1. 獲取源碼
方式一
# 需要安裝hg筝闹,由于沒有國內(nèi)的cdn節(jié)點(diǎn)灸拍,clone時(shí)間很長
hg clone https://hg.openjdk.java.net/jdk/jdk13
方式二
- 訪問https://hg.openjdk.java.net/jdk/jdk13/)
- 點(diǎn)擊左側(cè)菜單中的"Browse",顯示源碼根目錄頁面利诺。
- 點(diǎn)擊左側(cè)"zip"鏈接即可下載當(dāng)前版本打包好的源碼枢纠,下載完成后本地直接解壓即可车吹。
2. 系統(tǒng)配置
system-config
3. 編譯環(huán)境
-
Xcode11.3
- Xcode提供了OpenJDK所需的CLang編譯器以及Makefile中用到的其他外部命令
- 通過AppStore安裝
-
Boot JDK
OpenJDK由多個(gè)部分(HotSpot育苟、JDK類庫泳唠、JAXWS、JAXP……)構(gòu)成宙搬,其中一部分(HotSpot)代碼使用C、C++編寫拓哺,而更多的代碼則是使用Java語言來實(shí)現(xiàn)勇垛,因此編譯這些Java代碼就需要用到另一個(gè)編譯期可用的JDK,官方稱這個(gè)JDK為“BootstrapJDK”士鸥。
編譯OpenJDK13時(shí)闲孤,BootstrapJDK必須使用JDK12及之后的版本。
-
這里安裝是12.0.2 (build 12.0.2+10)
4. 進(jìn)行編譯
-
Run configure
# 具體參數(shù)含義可以使用"bash configure --help"查看 bash configure --enable-debug --with-jvm-variants=server --enable-dtrace
- 執(zhí)行成功:
image若執(zhí)行失敗烤礁,請(qǐng)按照提示安裝缺失的依賴讼积。
configure命令承擔(dān)了依賴項(xiàng)檢查、參數(shù)配置和構(gòu)建輸出目錄結(jié)構(gòu)等多項(xiàng)職責(zé)脚仔,如果編譯過程中需要的工具鏈或者依賴項(xiàng)有缺失勤众,命令執(zhí)行后將會(huì)得到明確的提示,并且給出該依賴的安裝命令鲤脏。
-
Run make
# 按照當(dāng)前的系統(tǒng)配置们颜,6分鐘make完畢 make images
- 執(zhí)行完畢
image -
驗(yàn)證
cd ~/jdk13/build/macosx-x86_64-server-fastdebug/jdk/bin ./java -version
image
5. 參考
- http://hg.openjdk.java.net/jdk/jdk/raw-file/tip/doc/building.html
- 周大大《深入理解Java虛擬機(jī)(第三版)》