Linux下RPM安装JDK核心三步:清理旧版本、安装RPM包、配置环境变量;需先确认系统发行版和CPU架构,卸载预装OpenJDK避免冲突,安装后路径通常为/usr/java/jdk1.x.x_xxx-amd64,环境变量应配在/etc/profile并执行source /etc/profile生效。

Linux 下用 RPM 安装 JDK,核心就三步:清理旧版本、安装 RPM 包、配置环境变量。关键不是命令本身,而是每一步的细节是否到位——比如卸载不干净会冲突,路径写错会导致 java -version 报错,/etc/profile 没生效会让新终端找不到 Java。
先确认系统和架构,再选对安装包
执行以下两条命令:
-
cat /etc/os-release—— 看清是 CentOS、Rocky、AlmaLinux 还是其他基于 RHEL 的系统(RPM 方式适用) -
uname -m—— 输出x86_64才能装jdk-xx-linux-x64.rpm;如果是aarch64(ARM 服务器),必须下对应 ARM 版本,否则提示Exec format error
Oracle 官网下载需登录且带 Cookie 限制,推荐直接用浏览器下载,或使用带 header 的 wget(如 wget --header "Cookie: oraclelicense=accept-securebackup-cookie" ...)。注意:JDK 8u202 之后 Oracle 不再免费提供商用下载,生产环境建议优先考虑 OpenJDK RPM 包(如 java-17-openjdk-devel)。
卸载系统自带的 OpenJDK(避免冲突)
很多 Linux 发行版预装了 OpenJDK,不卸载会导致 java -version 显示旧版本,或者 JAVA_HOME 指向错误路径。
- 列出所有 Java 相关包:
rpm -qa | grep -E 'java|jdk|jre' - 批量卸载(强制,跳过依赖检查):
rpm -qa | grep -E 'java|jdk|jre' | xargs rpm -e --nodeps - 验证是否清空:
rpm -qa | grep java应无输出;which java和java -version应报“command not found”
安装 RPM 包并确认路径
RPM 安装默认路径固定,无需解压,但必须知道它装到哪了——这是后续配环境变量的基础。
- 执行安装:
sudo rpm -ivh jdk-8u361-linux-x64.rpm(以 JDK 8u361 为例) - 安装成功后,JDK 会被放到
/usr/java/jdk1.8.0_361-amd64/(或类似路径,具体看包名) - 手动确认路径:
ls /usr/java/,你会看到一个以jdk1.x.x_xxx命名的目录 - 临时测试:
/usr/java/jdk1.8.0_361-amd64/bin/java -version—— 能正确输出即说明安装无误
配置全局环境变量(让所有用户、所有终端生效)
不要改 ~/.bashrc(只对当前用户当前 Shell 有效),生产环境应统一配在 /etc/profile。
- 编辑系统级配置:
sudo vi /etc/profile - 在文件末尾添加(路径请按你实际的目录替换):
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
- 立即加载配置:
source /etc/profile - 验证:
echo $JAVA_HOME应输出路径;java -version和javac -version都应正常返回











