温馨提示×

CentOS怎样切换Java版本

小樊
35
2026-08-03 06:47:24
栏目: 编程语言

CentOS 上切换 Java 版本,常见做法有 alternatives(推荐)手动配置环境变量使用 SDKMAN。下面按常用程度给你说明。


一、使用 alternatives(CentOS 官方推荐 ✅)

1️⃣ 查看已安装的 Java

java -version

查看系统中已注册的 Java:

sudo alternatives --config java

输出示例:

There are 2 programs that provide 'java'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/lib/jvm/java-11-openjdk/bin/java
   2           /usr/lib/jvm/java-8-openjdk/bin/java

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

输入编号即可切换。


2️⃣ 切换 javac(如果有)

sudo alternatives --config javac

3️⃣ 手动注册 Java(如果没出现在列表)

例如你手动安装了 JDK:

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

然后再次执行:

sudo alternatives --config java

二、通过环境变量切换(适合开发环境)

1️⃣ 编辑环境变量

vi ~/.bashrc

/etc/profile(全局)

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
export PATH=$JAVA_HOME/bin:$PATH

2️⃣ 生效

source ~/.bashrc

3️⃣ 验证

java -version

⚠️ 注意:

  • 不同终端可能不生效
  • 优先级低于 alternatives

三、使用 SDKMAN(多版本管理神器 ✅✅)

适合 开发机 / 多项目切换

1️⃣ 安装 SDKMAN

curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"

2️⃣ 安装 Java

sdk list java
sdk install java 8.0.392-tem
sdk install java 17.0.9-tem

3️⃣ 切换 Java

sdk use java 8.0.392-tem      # 当前终端
sdk default java 17.0.9-tem   # 永久

四、CentOS 7 / 8 / Stream 注意事项

系统 说明
CentOS 7 常用 alternatives
CentOS 8 / Stream 推荐 OpenJDK + alternatives
云服务器 避免直接删系统 Java

五、推荐做法 ✅

服务器环境alternatives
开发环境SDKMAN
❌ 不建议直接改 /usr/bin/java 软链接


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

  • CentOS 版本(7 / 8 / Stream)
  • 服务器 还是 本地开发
  • 需要 JDK 8 / 11 / 17 / 21

我可以给你一套最合适的具体命令

0