Windows版本JDK可使用Cygwin/WSL + VC++两种编译方式。如下以Cygwin + VC++ 编译JDK 23为例。
- 安装Cygwin 64位环境:gcc/g++/zip/unzip/autoconf/make为必选项。
- 安装VS 2019或2022:
1 目录不要有空格;
2 需要有英文语言包.
假设安装位置:D:\ProgramFiles\MicrosoftVisualStudio\2019\Community - 下载JDK source code (i.e. GitHub – openjdk/jdk at jdk-23+25).
- 下载bootstrap 旧版本JDK
例如下载的是jdk-22.0.1(如果你的JDK source code版本更低,要选择更低的bootstrap JDK版本).
1 将jdk-22.0.1 PATH配置到Windows环境变量,并设定为优先的java程序。
F:\tools\openjdk-22.0.1_windows-x64_bin\bin
F:\tools\openjdk-22.0.1_windows-x64_bin\jre\bin
2 新打开终端cmd,确认java -version是22.0.1. - 打开Cygwin终端,切换到JDK目录
cd /cygdrive/h/sources/jdk - 配置编译目标为Windows版本x64架构的JDK、bootstrap JDK为默认的jdk-22.0.1
bash configure --with-tools-dir=/cygdrive/d/ProgramFiles/MicrosoftVisualStudio/2019/Community/VC/Auxiliary/Build - 编译
make JOBS=8 images 2>&1 | tee b.log
– 最终编译的JDK目录:build\windows-x86_64-server-release\images\jdk
- 如果只编译JDK,可用make JOBS=8 product-images
注意:
1 网络上有不少是编译JDK更早版本的文章,有不少错误就已经在最新版修掉了,不需要再处理。
2 freetype如果之前有安装过就不需要特别去编译安装。