推荐使用dnf安装java-11-openjdk-devel,自动处理依赖并提供完整开发环境;再通过/etc/profile.d/java.sh配置java_home,最后用alternatives管理多版本切换。

CentOS 8 安装 OpenJDK 11 推荐使用系统自带的 dnf 包管理器,操作简单、无需手动下载解压、自动配置基础路径,适合大多数生产与开发场景。如果需要 Oracle JDK 或自定义路径部署,再考虑手动方式。
确认系统状态与清理旧版本
安装前建议先检查是否已有 Java 环境,避免版本冲突:
- 运行
java -version和javac -version查看当前 Java 版本 - 列出已安装的 Java 相关包:
dnf list installed | grep java - 如需卸载旧版 OpenJDK(例如 JDK 8),执行:
sudo dnf remove java-1.8.0-openjdk* - 清除残留配置(可选):
sudo rm -f /etc/profile.d/java.sh
一键安装 OpenJDK 11 开发环境
CentOS 8 官方仓库已内置 OpenJDK 11,推荐安装 java-11-openjdk-devel —— 它包含 JRE、编译器(javac)、调试工具及源码,满足开发全需求:
CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离
- 执行安装命令:
sudo dnf install -y java-11-openjdk-devel - 安装过程会自动处理依赖,约数十秒完成
- 验证运行时:
java -version应输出类似:
openjdk version "11.0.22" 2024-04-16 - 验证编译器:
javac -version应返回相同版本号
设置 JAVA_HOME 环境变量
虽然 java 命令可直接调用,但多数构建工具(Maven、Gradle)和 IDE 需要 JAVA_HOME。OpenJDK 11 默认安装在 /usr/lib/jvm/java-11-openjdk(符号链接,实际指向带架构后缀的子目录,如 java-11-openjdk-11.0.22.0.7-2.el8_10.x86_64):
- 查看真实路径:
readlink -f $(which java)→ 得到类似/usr/lib/jvm/java-11-openjdk-11.0.22.0.7-2.el8_10.x86_64/bin/java - 取其上级目录作为
JAVA_HOME:/usr/lib/jvm/java-11-openjdk-11.0.22.0.7-2.el8_10.x86_64 - 创建专用配置文件(更规范,避免污染
/etc/profile):echo 'export JAVA_HOME=/usr/lib/jvm/java-11-openjdk' | sudo tee /etc/profile.d/java.shecho 'export PATH=$JAVA_HOME/bin:$PATH' | sudo tee -a /etc/profile.d/java.sh - 立即生效:
source /etc/profile.d/java.sh - 验证:
echo $JAVA_HOME应输出路径;java -cp . HelloWorld可测试运行环境
(可选)切换默认 Java 版本
若系统中存在多个 Java 版本(如同时装了 JDK 17),可用 alternatives 统一管理:
- 查看所有 Java 替代项:
sudo alternatives --config java - 选择 OpenJDK 11 对应编号,回车确认
- 同理配置编译器:
sudo alternatives --config javac - 完成后再次运行
java -version确认生效










