在 CentOS 上“编译 Java”通常指两种情况,我分开说明,方便你直接选:
比如从 OpenJDK 源码编译,而不是写 Java 程序。
OpenJDK 11 或 OpenJDK 17(LTS)
原因:
| 场景 | 推荐 |
|---|---|
| 老系统 / 传统项目 | OpenJDK 8 |
| 新项目 / 微服务 | OpenJDK 11 ✅ |
| 云原生 / 新架构 | OpenJDK 17 ✅ |
| 尝鲜 / 新特性 | OpenJDK 21 |
⚠️ 不推荐:
(用 javac 编译 .java 文件)
JDK 版本 ≥ 你的代码目标版本
| 你的需求 | 选择 |
|---|---|
| 老项目 | JDK 8 |
| Spring Boot 2.x | JDK 8 / 11 |
| Spring Boot 3.x | JDK 17+ 必须 |
| 新项目 | JDK 17 ✅ |
cat /etc/centos-release
# JDK 8
sudo yum install -y java-1.8.0-openjdk-devel
# JDK 11
sudo yum install -y java-11-openjdk-devel
# JDK 17
sudo yum install -y java-17-openjdk-devel
java -version
javac -version
如果你真的要 自己编译 JDK 源码:
sudo yum groupinstall -y "Development Tools"
sudo yum install -y \
autoconf \
freetype-devel \
cups-devel \
libXtst-devel \
libXt-devel \
libXrender-devel \
libXrandr-devel \
libXi-devel \
alsa-lib-devel \
unzip
bash configure
make images
90% 场景:CentOS + OpenJDK 11 / 17,直接 yum 安装,别自己编译 JDK。
如果你愿意,可以告诉我:
我可以直接给你最合适的一套命令。