编译openjdk12
1,安装并配置jdk11
2,下载源码
hg clone http://hg.openjdk.java.net
3,构建编译
执行命令:
bash configure --with-debug-level=slowdebug --with-jvm-variants=server --enable-ccache --with-boot-jdk=/usr/java/jdk-11.0.8 --disable-warnings-as-errors
根据提示安装编译工具类库
--with-debug-level=slowdebug 启用slowdebug级别调试
--with-jvm-variants=server 编译server类型JVM
--enable-ccache 启用ccache,加快编译
--with-freetype=/usr/local/Cellar/freetype/2.10.1(你的版本)
--disable-warnings-as-errors 忽略警告
--with-boot-jdk=【JAVA_HOME】启动jdk的设置
如果没问题会出现如下提示
====================================================
A new configuration has been successfully created in
/root/workspace/jdk12/build/linux-x86_64-server-slowdebug
using configure arguments '--with-debug-level=slowdebug --with-jvm-variants=server --with-boot-jdk=/usr/java/jdk-11.0.8 --disable-warnings-as-errors'.
Configuration summary:
* Debug level: slowdebug
* HS debug level: debug
* JVM variants: server
* JVM features: server: 'aot cds cmsgc compiler1 compiler2 epsilongc g1gc graal jfr jni-check jvmci jvmti management nmt parallelgc serialgc services shenandoahgc vm-structs zgc'
* OpenJDK target: OS: linux, CPU architecture: x86, address length: 64
* Version string: 12-internal+0-adhoc.root.jdk12 (12-internal)
Tools summary:
* Boot JDK: java version "11.0.8" 2020-07-14 LTS Java(TM) SE Runtime Environment 18.9 (build 11.0.8+10-LTS) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.8+10-LTS, mixed mode) (at /usr/java/jdk-11.0.8)
* Toolchain: gcc (GNU Compiler Collection)
* C Compiler: Version 4.8.5 (at /usr/bin/gcc)
* C++ Compiler: Version 4.8.5 (at /usr/bin/g++)
Build performance summary:
* Cores to use: 2
* Memory limit: 3789 MB
4,make images 开始编译
编译完成后会出现一下代码(经历了了无数次失败。。。。)
Compiling 8 files for BUILD_DEMO_TableExample
Updating support/demos/image/jfc/TableExample/src.zip
Compiling 1 files for BUILD_DEMO_TransparentRuler
Updating support/demos/image/jfc/TransparentRuler/src.zip
Creating support/demos/image/jfc/CodePointIM/CodePointIM.jar
Creating support/demos/image/jfc/FileChooserDemo/FileChooserDemo.jar
Creating support/demos/image/jfc/SwingSet2/SwingSet2.jar
Creating support/demos/image/jfc/Font2DTest/Font2DTest.jar
Creating support/demos/image/jfc/J2Ddemo/J2Ddemo.jar
Creating support/demos/image/jfc/Metalworks/Metalworks.jar
Creating support/demos/image/jfc/Notepad/Notepad.jar
Creating support/demos/image/jfc/Stylepad/Stylepad.jar
Creating support/demos/image/jfc/SampleTree/SampleTree.jar
Creating support/demos/image/jfc/TableExample/TableExample.jar
Creating support/demos/image/jfc/TransparentRuler/TransparentRuler.jar
Creating jdk image
Creating CDS archive for jdk image
Stopping sjavac server
Finished building target 'images' in configuration 'linux-x86_64-server-slowdebug'
5, 编译成功
在jdk/build/linux-x86_64-server-release/jdk/bin 目录下 ./java -version
openjdk version "12-internal" 2019-03-19
OpenJDK Runtime Environment (slowdebug build 12-internal+0-adhoc.openjdk)
OpenJDK 64-Bit Server VM (slowdebug build 12-internal+0-adhoc.openjdk, mixed mode)