环境准备
- 虚拟机:VMware Workstation 12
最好给虚拟机分配较多的处理器和内存以提升编译速度 - 操作系统:CentOS-7-x86_64-Minimal-1708
虚拟机磁盘空间最好不低于20G (10G磁盘空间不足导致编译失败) - BootStrap JDK: jdk_8u151
版本为待编译版本的上一个版本 任何JDK8都可以 - 编译版本: Open JDK9 Internal
- 其他要求参见官方编译步骤
说明
- 最小化安装的CentOS请确保网络配置得当
- 由于网络不稳定,没有用官方推荐的工具下载源代码,本次编译的源码从GitHub 的个人仓库上下载
- 以下命令请在root用户或具备root权限的用户下执行
安装BootStrap JDK
通过rpm 方式安装了BootStrap JDK
设置环境变量
在/etc/profile
文件最后添加
JAVA_HOME=/usr/java/jdk1.8.0_151
CLASSPATH=.
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME
source /etc/profile
使之生效
查看BootStrap JDK版本
安装编译工具及库
以下需要安装工具主要是在参照官方编译步骤及自己试错的条件下总结出来的
yum groupinstall "Development Tools"
yum install libXtst-devel libXt-devel libXrender-devel
yum install cups-devel
yum install freetype-devel
yum install alsa-lib-devel
yum install elfutils-libelf-devel
编译过程
- 解压源码包
unzip openjdk9-master.zip
- 生成编译配置
在解压后的文件夹openjdk9-master
下执行
bash ./configure --with-target-bits=64 --with-native-debug-symbols=zipped --with-jvm-variants=server,client --with-boot-jdk-jvmargs="-Xlint:deprecation -Xlint:unchecked" --disable-warnings-as-errors --with-debug-level=slowdebug 2>&1 | tee configure_centos_x64.log
- 删除build 文件夹下的源码的macos编译配置
源码包已包含macos的编译配置,请删除
rm macosx-x86_64-normal-server-slowdebug -rf
- 开始编译
在openjdk9-master
目录下执行make
- 编译成功
20分钟左右,编译完成,因虚拟机配置不同,会存在一定差异,
进入openjdk9-master/build/linux-x86_64-normal-serverANDclient-slowdebug/jdk/bin
目录下检查