本文环境基于Ubuntu 20.04
一、准备工作
1.1 下载OpenJDK8源代码
本人是通过AdoptJDK的github仓库下载的,AdoptJDK基本可以理解为OpenJDK,因为OpenJDK的仓库太难找了,下这个是一样的。
1.2 安装JDK7
JDK的编译需要用到上一个版本的JDK,我们这里要编译JDK8的话就需要安装JDK7。
这里你可以选择用Oracle提供的JDK7安装包,或者从github下载
1.3 去掉环境变量中的JAVA_HOME
这是文档的要求,咱也不知道为啥,照做就是了,最终的要求就是命令行输入java -version提示命令不存在
二、开始编译
2.1 配置
进入OpenJDK8根目录,找到这个文件~/jdk8u/hotsport/make/linux/makefiles/gcc.make,将下边这行注释掉,不然警告会变成错误导致编译失败
#WARNINGS_ARE_ERRORS = -Werror
然后执行下列命令
bash ./configure --with-boot-jdk=/home/iceberg/Program/Java/openjdk-1.7.0 --enable-debug --with-jvm-variants=server
--with-boot-jdk指的是你JDK7的地址。
更多的参数配置,请参考官方的编译文档
然后控制台就开始疯狂输出信息,中途会遇到很多库的缺失,但是都会有提示告诉你应该怎么做,比如下边这种