奇思妙想 · 2024年 6月 8日 0

如何编译Windows版本JDK?

49 次浏览

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如果之前有安装过就不需要特别去编译安装。