Java教程

Windows10通过WSL编译jdk12

本文主要是介绍Windows10通过WSL编译jdk12,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Windows使用WSL编译OpenJDK

  1. 安装Ubuntu以及配置国内镜像

    • 首选确保windows10已经安装了ubuntu

    • 更换ubuntu20.04国内镜像,这里我选择的是阿里云镜像

      sudo vim /etc/apt/sources.list

    • 将使用如下内容替换原先源

      deb http://mirrors.aliyun.com/ubuntu/ focal main restricted
      deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted
      deb http://mirrors.aliyun.com/ubuntu/ focal universe
      deb http://mirrors.aliyun.com/ubuntu/ focal-updates universe
      deb http://mirrors.aliyun.com/ubuntu/ focal multiverse
      deb http://mirrors.aliyun.com/ubuntu/ focal-updates multiverse
      deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
      deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted
      deb http://mirrors.aliyun.com/ubuntu/ focal-security universe
      deb http://mirrors.aliyun.com/ubuntu/ focal-security multiverse

    • 保存退出,然后执行以下命令

      sudo apt update

      sudo apt upgrade

    • 至此,国内镜像已经配置好了。

  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

    image

    g++ -v

    image

  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. 直到出现

    image

  11. 说明环境已经准备好了,开始编译

    male all

  12. 由于编译时间很长,需要耐心等待

    image

    image

  13. 当出现如下就代表编译成功

    image

  14. 进去测试一下:可以看出java版本。

    image

这篇关于Windows10通过WSL编译jdk12的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!