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开发工具导入源代码开发。