温馨提示×

CentOS如何切换Java版本

小樊
34
2026-07-19 11:57:26
栏目: 编程语言

在 CentOS 中切换 Java 版本,常见做法有 alternatives 管理手动配置环境变量 以及 使用 SDKMAN。下面按推荐程度给你详细说明。


✅ 方法一:使用 alternatives(推荐,系统级)

CentOS 默认使用 alternatives 来管理多个 Java 版本。

1️⃣ 查看已安装的 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

⚠️ 只切换 java 不切换 javac,会导致编译和运行版本不一致。


3️⃣ 验证

java -version
javac -version

✅ 方法二:手动设置 JAVA_HOME(适合自定义安装)

1️⃣ 查看 Java 安装路径

readlink -f $(which java)

例如:

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

JAVA_HOME 应为:

/usr/lib/jvm/java-11-openjdk

2️⃣ 修改环境变量

编辑:

sudo vi /etc/profile

或用户级:

vi ~/.bashrc

添加:

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

生效:

source /etc/profile
# 或
source ~/.bashrc

3️⃣ 验证

echo $JAVA_HOME
java -version

✅ 方法三:使用 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 17.0.9-tem
sdk install java 8.0.392-tem

3️⃣ 切换 Java 版本

sdk default java 17.0.9-tem
# 或临时使用
sdk use java 8.0.392-tem

4️⃣ 验证

java -version

✅ 常见问题

❓ CentOS 7 / 8 有区别吗?

  • alternatives 通用
  • CentOS 8+ 推荐 dnf
  • CentOS 7 使用 yum

❓ 如何查看 Java 安装目录?

update-alternatives --list java

✅ 推荐方案总结

场景 推荐方式
系统级、服务器 alternatives
多项目开发 SDKMAN
自定义 JDK JAVA_HOME

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

  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ 是否已安装多个 Java
  • ✅ 是服务器还是本地开发环境

我可以给你精确到命令级别的方案。

0