1.从openJdk官方github 的 仓库fork一份本人仓库是(fork的GitHub - openjdk/jdk17u: https://wiki.openjdk.org/display/JDKUpdates/JDK+17u · GitHub)
https://github.com/liukeling/jdk17u
2.boot JDK (构建jdk源码需要一个初始的jdk环境 好像要对应的,编译17的源码需要17的bootJDK)
3.虚拟机环境准备(我使用的是centos 7)
把需要构建的jdk源码以及 bootJDK上传到 /usr/local 并解压

如图,我的源码是jdk17u.zip bootJdk 是OpenJDK17U-jdk_x64_linux_hotspot_17.0.12_7.tar.gz
解压后,bootJdk 需要移动到boot-jdk17 文件夹下 (/usr/local/boot-jdk17)
不是boot-jdk17文件夹 其他文件夹构建时候他会找不到!!!

配置boot-jdk17环境 export JAVA_HOME 和 PATH (省略)
4.环境
1.yum 源 CentOS-Base.repo 和 CentOS-SCLo.repo
我的base.repo是阿里的,
SCLo.repo
是
sclo-sclo
name=CentOS-7 - SCLo sclo
baseurl=https://vault.centos.org/centos/7/sclo/x86_64/sclo/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1
sclo-rh
name=CentOS-7 - SCLo rh
baseurl=https://vault.centos.org/centos/7/sclo/x86_64/rh/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
enabled=1
2.安装 相关包
yum install -y gcc gcc-c++ make autoconf automake libtool libstdc++-devel libstdc++-static zlib-devel libpng-devel libjpeg-devel alsa-lib-devel cups-devel libX11-devel libXtst-devel libXt-devel libXrender-devel libXi-devel freetype-devel fontconfig-devel
gcc -v版本低,临时激活编译环境!!!!(make会报错)
scl enable devtoolset-8 bash

5.编译
进入源码目录先configure
bash configure

然后 make JOBS=4 等很久很久。。。。loooooooooong time ago...... (可以选择去掉部分模块不编译没去试了。)

6.编译好后的jdk在目录下的build下面

运行bin/java 正常出命令行(后续能不能用,能不能配置环境跑啥的没试)