Win10系統下編譯jdk12/Linux系統下編譯jdk12


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開發工具導入源代碼開發。

    

 

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM