Window10系統下編譯JDK12,有手就能學廢 *_*
本篇文章編譯jdk12依然基於linux系統,但是由於win10系統已經支持linux子系統,所以不用再去安裝虛擬機,比如VM Ware。
已經擁有linux系統的讀者可直接跳到 "開始編譯" 環節。
一、開啟Win10"適用於linux的Windows子系統"
1)打開控制面板,點擊卸載程序
2)點擊左側啟用或關閉windows功能
3)勾選 適用於linux的windows子系統,確定,重啟電腦
二、Win10應用商店安裝Unbuntu
1)打開Microsoftware Store
2) 搜索linux,安裝Ubuntu 18.04 LTS版本,啟動
三、Ubuntu簡單配置
1) 啟動后設置用戶名密碼:
2)更改apt源為阿里雲源(下載第三方庫更快)
編輯源列表文件(最好先備份一份),執行命令:sudo vim /etc/apt/sources.list
假如執行命令報錯,安裝vim: sudo apt-get install vim
將原有內容統統注釋掉,加入如下內容,保存並退出
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
此時必須執行命令:sudo apt-get update
四、開始編譯
1)在Ubuntu上安裝GCC編譯器,執行命令:sudo apt-get install build-essential
2)安裝第三方FreeType、CUPS、ALSA等庫,執行命令如下:
工具 | 安裝命令 |
FreeType | sudo apt-get install libfreetype6-dev |
cups | sudo apt-get install libcups2-dev |
x11 | sudo apt-get install libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev |
ALSA | sudo apt-get install libasound2-dev |
libffi | sudo apt-get install libffi-dev |
autoconf | sudo apt-get install autoconf |
fontconfig | sudo apt-get install libfontconfig-dev |
3) 由於jdk12里面有大量的java代碼,所以需要安裝jdk11來編譯,執行命令如下:
sudo apt-get install openjdk-11-jdk
4)獲取JDK12源代碼,可從 https://hg.openjdk.java.net/jdk/jdk12/ 網站下載,但是筆者下載下來才2M多,不知道是不是網站有問題。正確大小應該是170M作用的壓縮包。
也可安裝docker環境拉取源代碼。假如實在不知道怎么獲取,可從百度網盤拉取:鏈接: https://pan.baidu.com/s/1Wi3fnu445wua1YfPvO_pig 提取碼: mrcs
將源代碼拷貝到\software\openjdk目錄下:(windows與linux文件共享,可使用explorer命令找到linux在windows上的文件夾路徑進行拷貝:explorer.exe .)
5)配置編譯參數,執行命令:bash configure --enable-debug --with-jvm-variants=server
在(/software/openjdk/jdk12-06222165c35f)目錄下執行命令
configure命令同時也會檢查依賴項、參數配置,任何錯誤都會友好提示安裝即可,假如都正確輸出界面如下:
6)遇到報錯:configure: error: Could not find required tool for UNZIP
安裝ZIP即可,執行命令:sudo apt-get install zip
7)執行make images開始編譯jdk:make images
慢慢等待,第一次全量編譯,大概40分鍾左右完成。成功后jdk輸出目錄位於:/software/openjdk/jdk12-06222165c35f/build/linux-x86_64-server-fastdebug/
8)查看編譯成功后的jdk版本信息(進入目錄/software/openjdk/jdk12-06222165c35f/build/linux-x86_64-server-fastdebug/jdk/bin): ./java -version
openjdk version "12-internal" 2019-03-19
OpenJDK Runtime Environment (fastdebug build 12-internal+0-adhoc.jianyang.jdk12-06222165c35f)
OpenJDK 64-Bit Server VM (fastdebug build 12-internal+0-adhoc.jianyang.jdk12-06222165c35f, mixed mode)
五、后續
JDK12到此就編譯成功了,想要更改jdk源代碼建議下載Clion開發工具導入源代碼開發。