在网上查询了各种资料,完成了编译,在此记录一下
#Mercurial下载openJdk
hg clone http://hg.openjdk.java.net/jdk9/dev
#下载完成后运行
sh ./get_source.sh
完成后目录结构如下
#检查依赖,如果缺少依赖会有提示,对应下载即可
bash ./configure
#检查编译需要的包,缺失会有提示,对应补全即可
bash configure --with-debug-level=slowdebug
#检查编译包通过会打印如下信息:
Build performance summary:
* Cores to use: 3
* Memory limit: 3921 MB
* ccache status: installed, but disabled (version older than 3.1.4)
#编译 make不带参数默认为 all,编译全部
make
#可能会出现以下提示(本人遇到的)
Error: No CONF given, but more than one configuration found.
Available configurations in /home/wly/dev/jdk/build:
* linux-x86_64-normal-server-slowdebug
* linux-x86_64-normal-server-release
Please retry building with CONF=<config pattern> (or SPEC=<spec file>).
#选择一个配置进行编译即可,编译需要等待较长时间
make CONF=linux-x86_64-normal-server-slowdebug
#编译完最后会出现以下提示信息
Finished building target 'default (exploded-image)' in configuration 'linux-x86_64-normal-server-slowdebug'
#进入编译后的jdk目录,可将该目录配置到JAVA_HOME使用
cd /build/linux-x86_64-normal-server-slowdebug/jdk/bin
./java -version
#打印jdk信息
openjdk version "9-internal"
OpenJDK Runtime Environment (slowdebug build 9-internal+0-adhoc.root.jdk)
OpenJDK 64-Bit Server VM (slowdebug build 9-internal+0-adhoc.root.jdk, mixed mode)