Windows 10编译OpenJDK源码

所需环境:

  • Windows 10 x64;
  • Visual Studio 2019(必须安装在默认路径下面.同时需要安装C++开发组件);
  • Cygwin64最新版;
  • 引导JDK(可以是最新稳定版JDK,需要配置JAVA_HOME环境变量).

java标志
image-3220

参考链接:

获取源码:

cmd或者PowerShell

-b 为选择指定标签.

git clone -b jdk-16+29 https://gitee.com/mirrors/openjdk.git

运行配置

Cygwin64

推荐使用下面的命令(命令参数含义: 禁用-警告被视为错误):

bash configure –disable-warnings-as-errors

默认命令(可能会报错,但其实报错信息来自警告)

bash configure

可能的问题

Target CPU mismatch. We are building for x86_64 but CL is for ""; expected "x64"

打开

make/autoconf/toolchain.m4

找到"Target CPU mismatch",有两个办法:

  1. 注释这一段if;
  2. 把把AC_MSG_ERROR改成AC_MSG_RESULT

构建镜像:

Cygwin64

make images

校验新构建的JDK:

1
 

`bash

Cygwin64

./build/*/images/jdk/bin/java -version

如果输出了下面的文本,则表示大功告成!

1
2
3
4
openjdk version "16-internal" 2021-03-16
OpenJDK Runtime Environment (build 16-internal+0-adhoc.pcname.openjdk)
OpenJDK 64-Bit Server VM (build 16-internal+0-adhoc.pcname.openjdk, mixed mod
e, sharing)

运行基础测试(可选):

Cygwin64:

make run-test-tier1