CentOS安装JDK核心是四步:先用sudo yum remove -y java- tzdata-java彻底清理自带OpenJDK;再下载JDK tar.gz包(如Temurin 17)解压至/usr/lib/jvm/并建软链java-17;接着在/etc/profile中配置JAVA_HOME等环境变量并source生效;最后用java -version、javac -version、which java三命令验证。

在 CentOS 中安装 JDK,核心是选对方式、清干净旧环境、配对路径、验证到位。不推荐直接跳过清理或硬写死路径,否则常出现 java -version 正常但 javac 找不到、Maven 编译失败、或切换版本失效等问题。
清理系统自带的 OpenJDK(必须做)
CentOS 默认预装 OpenJDK(如 java-1.8.0-openjdk),它和 Oracle JDK 或新版 OpenJDK 共存时容易冲突,尤其影响 javac、jps 等开发工具。
执行以下命令一次性清除:
sudo yum remove -y java-* tzdata-java*
✅ 比
rpm -e --nodeps更安全:yum remove会自动处理依赖,且覆盖更全(包括时区支持包)。立即学习“Java免费学习笔记(深入)”;
验证是否清干净:
java -version # 应报 command not found rpm -qa | grep -i java # 应无输出,或只剩无关包(如 python-javapackages)
下载并解压 JDK(推荐 tar.gz 方式)
Oracle JDK 8/11/17 或 OpenJDK(如 Eclipse Temurin、Amazon Corretto)都提供 .tar.gz 包,兼容性好、路径可控、无 rpm 依赖风险。
-
下载建议:
- Oracle JDK:需登录,可改用 Eclipse Temurin 官网(免费、LTS、一键下载)
- 国内加速:华为云镜像站
https://mirrors.huaweicloud.com/temurin/
例:下载 JDK 17(64位):cd /tmp wget https://mirrors.huaweicloud.com/temurin/17/jdk/hotspot/semver/17.0.2%2B8/OpenJDK17U-jdk_x64_linux_hotspot_17.0.2_8.tar.gz
-
安装到标准位置:
sudo mkdir -p /usr/lib/jvm sudo tar -zxf OpenJDK17U-jdk_x64_linux_hotspot_17.0.2_8.tar.gz -C /usr/lib/jvm/ sudo ln -sf /usr/lib/jvm/jdk-17.0.2+8 /usr/lib/jvm/java-17
✅ 软链接
java-17可避免后续环境变量写死具体版本号,升级时只需改链接目标。
配置全局环境变量(生效所有用户)
编辑 /etc/profile,追加:
export JAVA_HOME=/usr/lib/jvm/java-17
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH然后立即生效:
source /etc/profile
⚠️ 注意:不要漏掉
:.在CLASSPATH开头,否则类加载可能失败;PATH中JAVA_HOME/bin必须在$PATH前,确保优先调用新 JDK。
验证安装是否真正可用
运行三组命令,缺一不可:
java -version # 显示版本(如 17.0.2) javac -version # 显示相同版本(证明编译器就位) which java # 应输出 /usr/lib/jvm/java-17/bin/java
如果 javac 报错“command not found”,大概率是 PATH 没生效,或 bin 目录下确实没 javac —— 这说明你装的是 JRE 包而非 JDK 包,请重下带 jdk 字样的安装包。
不复杂但容易忽略。


















