1. 程式人生 > 其它 >Windows10通過WSL編譯jdk12

Windows10通過WSL編譯jdk12

Windows使用WSL編譯OpenJDK

  1. 安裝Ubuntu以及配置國內映象

  2. 由於編譯jdk N版本需要JDK N-1版本作為boot版本,我們開始下載和配置jdk11以及環境變數

    • 首先執行

      sudo apt get install open-11-jdk

    • 等待下載好一般預設下載路徑

      /usr/lib/jvm/java-11-openjdk-amd64

    • 開始配置環境變數,輸入命令:

      sudo vim ~/.bashrc

    • 在最下方輸入如下:

      export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

      export CLASSPATH=${JAVA_HOME}/lib

      export PATH=\({JAVA_HOME}/bin:\)PATH

    • 更新環境變數

      source ~/.bashrc

  3. 準備安裝gcc7和g++7,我經過測試,gcc4和gcc9都是不行的。

    sudo apt install gcc-7 g++-7

  4. 需要對gcc和g++進行更換軟連線

    sudo rm -r gcc

    sudo rm -r g++

    sudo ln -s /usr/bin/gcc-7 gcc

    sudo ln -s /usr/bin/g++-7 g++

  5. 檢測gcc和g++版本

    gcc -v

    g++ -v

  6. 開始下載jdk12原始碼,在官網下好之後,在linux中建立一個資料夾,把windows下載好的jdk12原始碼輔助到WSL中.例如我已經下載到C盤下:

    cp /mnt/c/OpenJDK12-master.zip /home/heiye/jdk12_src

  7. 然後解壓

    unzip OpenJDK12-master.zip

  8. 解壓完後,進入解壓後的目錄下,由於環境是WSL環境,以及在編譯過程中可能會有警告而被高版本gcc當做錯誤而停止編譯,我們輸入:

    bash configure --enable-debug --with-jvm-variants=server

  9. 然後會有一大堆的提示,說缺少很多依賴庫,這時候我們需要根據提示來下載這些依賴,例如

    sudo apt-get install libfreetype6-dev

    sudo apt-get install libcups2-dev

    sudo apt-get install libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev

    sudo apt-get install libasound2-dev

    sudo apt-get install libffi-dev

    sudo apt-get install autoconf

  10. 直到出現

  11. 說明環境已經準備好了,開始編譯

    male all

  12. 由於編譯時間很長,需要耐心等待

  13. 當出現如下就代表編譯成功

  14. 進去測試一下:可以看出java版本。