在 CentOS 上编译 Java,通常指 从 OpenJDK 源码编译 JDK,而不是“CentOS 什么时候帮你编译 Java”。下面分几种常见情况说清楚:
java-1.8.0-openjdk)是 Red Hat / CentOS 官方提前编译好的二进制包yum install java-1.8.0-openjdk
✅ 不需要编译
❌ 不是你在本地编译以 OpenJDK 8 / 11 / 17 为例(CentOS 7 / 8 通用)
yum groupinstall "Development Tools"
yum install -y \
git \
wget \
unzip \
zip \
libXtst-devel \
libXt-devel \
libXrender-devel \
cups-devel \
alsa-lib-devel \
freetype-devel \
fontconfig-devel
git clone https://github.com/openjdk/jdk.git
cd jdk
或指定版本:
git checkout jdk-17+35
bash configure
常用参数:
bash configure \
--with-debug-level=release \
--enable-dtrace \
--with-jvm-variants=server
make images
编译完成后:
./build/*/images/jdk/bin/java -version
| CentOS 版本 | 说明 |
|---|---|
| CentOS 7 | 适合编译 JDK 8 / 11 |
| CentOS 8 | 官方已 EOL,建议用 Stream |
| CentOS Stream 9 | 适合 JDK 17+ |
⚠️ CentOS 7 上编 JDK 17+ 会比较痛苦
yum install如果你愿意,可以告诉我:
我可以直接给你 一条龙命令方案 ✅