温馨提示×

Centos怎么替换系统默认JDK

小樊
54
2026-08-19 14:39:12
栏目: 智能运维

CentOS 上替换系统默认 JDK,通常有两种常见方式:
使用 alternatives(推荐)直接修改环境变量。下面按步骤说明。


一、先查看当前系统 JDK

java -version

查看已安装的 JDK:

rpm -qa | grep java
# 或
rpm -qa | grep jdk

二、安装新的 JDK(如果还没装)

方式 1:使用 yum 安装(OpenJDK)

sudo yum install -y java-1.8.0-openjdk-devel
# 或 JDK 11
sudo yum install -y java-11-openjdk-devel

方式 2:手动安装 Oracle JDK / 自定义 JDK

tar -zxvf jdk-8u361-linux-x64.tar.gz -C /usr/local/

假设路径为:

/usr/local/jdk1.8.0_361

三、使用 alternatives 切换系统默认 JDK(推荐 ✅)

1️⃣ 添加新 JDK 到 alternatives

sudo alternatives --install /usr/bin/java java /usr/local/jdk1.8.0_361/bin/java 1
sudo alternatives --install /usr/bin/javac javac /usr/local/jdk1.8.0_361/bin/javac 1

如果是 yum 安装的 JDK,路径一般在:

/usr/lib/jvm/java-1.8.0-openjdk/bin/java

2️⃣ 切换默认 JDK

sudo alternatives --config java

输出示例:

There are 2 programs which provide 'java'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/lib/jvm/java-1.7.0-openjdk/bin/java
   2           /usr/local/jdk1.8.0_361/bin/java

Enter to keep the current selection[+], or type selection number: 2

选择你需要的 JDK 编号即可。

同样切换 javac

sudo alternatives --config javac

3️⃣ 验证

java -version
javac -version

四、配置 JAVA_HOME(强烈建议)

编辑环境变量:

sudo vi /etc/profile

追加:

export JAVA_HOME=/usr/local/jdk1.8.0_361
export PATH=$JAVA_HOME/bin:$PATH

生效:

source /etc/profile

验证:

echo $JAVA_HOME

五、卸载系统自带 JDK(可选)

⚠️ 谨慎操作,避免破坏系统组件

rpm -qa | grep java
sudo yum remove java-1.7.0-openjdk

六、常见问题

❓ 为什么 CentOS 不喜欢随便删系统 JDK?

  • yumfirewalld一些系统工具 依赖系统 JDK
  • 建议 保留系统 JDK,只切换默认版本

❓ 多用户环境用哪种方式?

alternatives + /etc/profile
❌ 不要只改个人 ~/.bashrc


七、总结(推荐方案)

最佳实践

alternatives 切换 java / javac
/etc/profile 配置 JAVA_HOME
不删除系统自带 JDK

如果你愿意,可以告诉我:

  • CentOS 版本(6 / 7 / 8 / Stream)
  • 要装 JDK 8 / 11 / 17 / Oracle / OpenJDK

我可以给你一套 完全适配你系统的命令

0