macOS編譯OpenJDK13

1. 獲取源碼

方式一

# 需要安裝hg筝闹,由于沒有國內(nèi)的cdn節(jié)點(diǎn)灸拍,clone時(shí)間很長
hg clone https://hg.openjdk.java.net/jdk/jdk13

方式二

  1. 訪問https://hg.openjdk.java.net/jdk/jdk13/
  2. 點(diǎn)擊左側(cè)菜單中的"Browse",顯示源碼根目錄頁面利诺。
  3. 點(diǎn)擊左側(cè)"zip"鏈接即可下載當(dāng)前版本打包好的源碼枢纠,下載完成后本地直接解壓即可车吹。

2. 系統(tǒng)配置

system-config

3. 編譯環(huán)境

  1. Xcode11.3

    • Xcode提供了OpenJDK所需的CLang編譯器以及Makefile中用到的其他外部命令
    • 通過AppStore安裝
  2. 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)行編譯

  1. 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ì)得到明確的提示,并且給出該依賴的安裝命令鲤脏。

  2. Run make

    # 按照當(dāng)前的系統(tǒng)配置们颜,6分鐘make完畢
    make images
    
    • 執(zhí)行完畢
    image
  3. 驗(yàn)證

    cd ~/jdk13/build/macosx-x86_64-server-fastdebug/jdk/bin
    ./java -version
    
    image

5. 參考

  1. http://hg.openjdk.java.net/jdk/jdk/raw-file/tip/doc/building.html
  2. 周大大《深入理解Java虛擬機(jī)(第三版)》
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市猎醇,隨后出現(xiàn)的幾起案子窥突,更是在濱河造成了極大的恐慌,老刑警劉巖硫嘶,帶你破解...
    沈念sama閱讀 219,539評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件阻问,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡沦疾,警方通過查閱死者的電腦和手機(jī)称近,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,594評(píng)論 3 396
  • 文/潘曉璐 我一進(jìn)店門第队,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人煌茬,你說我怎么就攤上這事斥铺。” “怎么了坛善?”我有些...
    開封第一講書人閱讀 165,871評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵晾蜘,是天一觀的道長。 經(jīng)常有香客問我眠屎,道長剔交,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,963評(píng)論 1 295
  • 正文 為了忘掉前任改衩,我火速辦了婚禮岖常,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘葫督。我一直安慰自己竭鞍,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,984評(píng)論 6 393
  • 文/花漫 我一把揭開白布橄镜。 她就那樣靜靜地躺著偎快,像睡著了一般。 火紅的嫁衣襯著肌膚如雪洽胶。 梳的紋絲不亂的頭發(fā)上晒夹,一...
    開封第一講書人閱讀 51,763評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音姊氓,去河邊找鬼丐怯。 笑死,一個(gè)胖子當(dāng)著我的面吹牛翔横,可吹牛的內(nèi)容都是我干的读跷。 我是一名探鬼主播,決...
    沈念sama閱讀 40,468評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼棕孙,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼舔亭!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起蟀俊,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤钦铺,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后肢预,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體矛洞,經(jīng)...
    沈念sama閱讀 45,850評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,002評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了沼本。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片噩峦。...
    茶點(diǎn)故事閱讀 40,144評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖抽兆,靈堂內(nèi)的尸體忽然破棺而出识补,到底是詐尸還是另有隱情,我是刑警寧澤辫红,帶...
    沈念sama閱讀 35,823評(píng)論 5 346
  • 正文 年R本政府宣布凭涂,位于F島的核電站问裕,受9級(jí)特大地震影響辟拷,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜经磅,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,483評(píng)論 3 331
  • 文/蒙蒙 一名惩、第九天 我趴在偏房一處隱蔽的房頂上張望澎胡。 院中可真熱鬧,春花似錦娩鹉、人聲如沸攻谁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,026評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽巢株。三九已至,卻和暖如春熙涤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背困檩。 一陣腳步聲響...
    開封第一講書人閱讀 33,150評(píng)論 1 272
  • 我被黑心中介騙來泰國打工祠挫, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人悼沿。 一個(gè)月前我還...
    沈念sama閱讀 48,415評(píng)論 3 373
  • 正文 我出身青樓等舔,卻偏偏與公主長得像,于是被迫代替她去往敵國和親糟趾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子慌植,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,092評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容