一、操作系统环境准备:Ubuntu 16.04-Ubuntu 20.04

注意:不要使用高版本(22.04+)的Ubuntu进行编译,会提示WARNING: You are using gcc older than 4.8,导致无法成功编译OpenJDK12

本文环境:Windows 11+ VMware Workstation17 + Ubuntu20.04(8C8G 120GB) + Clion2025.2(Linux)

1.1 系统更新与依赖安装

编译 OpenJDK 12 需要依赖编译器、构建工具及系统库,需通过 apt 安装以下包:

# 更新系统包索引
sudo apt update && sudo apt upgrade -y
​
# 安装编译工具链
sudo apt install -y build-essential autoconf
​
# 安装依赖库(OpenJDK 编译必需)
sudo apt install -y libfreetype6-dev libcups2-dev \
libx11-dev libxext-dev libxrender-dev libxrandr-dev libxtst-dev libxt-dev \
libasound2-dev libffi-dev libfontconfig1-dev ccache unzip zip gdb

1.2 引导JDK安装:

# Ubuntu 20.04
sudo apt install openjdk-11-jdk


# Ubuntu < 20.04
# 执行命令前提:配置AdoptOpenJDK相关设置,详见AdoptOpenJDK官方部署指导
sudo apt install temurin-11-jdk

二、OpenJDK 12 源码获取与编译

2.1 获取 OpenJDK 12 源码

2.2 编译配置(configure):autoconf工具官方文档

# 进入源码目录(根据实际路径调整)
cd openjdk12-src
​
# 运行 configure 生成 Makefile(调试模式配置)
bash configure \
  --enable-ccache \ # 开启缓存
  --with-debug-level=slowdebug \  # 调试级别:slowdebug(含最全调试信息,适合源码调试)
  --with-jvm-variants=server \  # 仅编译 Server VM(减少编译时间,默认包含 client/server)
  --disable-warnings-as-errors \  # 禁用"警告视为错误"(避免因编译器版本导致的警告失败)

2.3 编译源码(make)

配置完成后,执行 make 编译,建议指定并行任务数(jN,N 为 CPU 核心数×2):

# 启动编译(-j参数指定并行编译线程数,建议设为CPU核心数,可选)
make images -j4

2.4 编译成功

源码目录下生成 build/linux-x86_64-server-slowdebug/jdk 目录,执行以下命令验证:

# 查看编译生成的JDK版本
./build/linux-x86_64-server-fastdebug/jdk/bin/java -version

三、调试环境配置

3.1 CLion 安装配置(Ubuntu端)

  • CLion官方安装:

    sudo snap install clion --classic

    自动安装最新版本的CLion(2025.2)

  • 注意:18.04以下版本会报错:/lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.28' not found (required by /snap/clion/367/jbr/lib/server/libjvm.so)

    解决思路:直接更换低版本Clion(2019)或使用20.04版本ubunbtu

3.2 推荐调试环境:Ubuntu20.04+Clion(2025.2)

  1. Ubuntu版本相对来说不太老

  2. 可以使用Clion2025.2

四、调试调试

参考:https://blog.csdn.net/qq_43460743/article/details/129202296