温馨提示×

CentOS怎么配置多Java

小樊
40
2026-08-03 06:53:25
栏目: 编程语言

CentOS 上配置 多个 Java(JDK)版本 并灵活切换,常见做法有三种。下面从最推荐可选方案给你讲清楚,并附完整示例。


✅ 推荐方案一:使用 alternatives(CentOS 7/8 通用,最规范)

这是 CentOS / RHEL 官方推荐的方式,适合系统级多 Java 管理。

1️⃣ 安装多个 JDK

例如你已经安装了:

  • JDK 8:/usr/lib/jvm/java-1.8.0-openjdk
  • JDK 11:/usr/lib/jvm/java-11-openjdk

如果没有,可先安装:

yum install -y java-1.8.0-openjdk java-11-openjdk

2️⃣ 注册 Java 到 alternatives

sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-1.8.0-openjdk/bin/java 1
sudo alternatives --install /usr/bin/java java /usr/lib/jvm/java-11-openjdk/bin/java 2

(数字 1、2 是优先级,越大越优先)


3️⃣ 切换 Java 版本

sudo alternatives --config java

输出示例:

There are 2 programs that provide 'java'.

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

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

输入数字即可切换。


4️⃣ 验证

java -version

✅ 推荐方案二:配置 JAVA_HOME(开发环境常用)

如果你需要 不同用户 / 不同项目 使用不同 Java,这是最灵活的方式。

1️⃣ 编辑环境变量

vim ~/.bashrc

添加:

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

应用:

source ~/.bashrc

2️⃣ 快速切换(示例)

可以写多个 alias:

alias java8='export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk'
alias java11='export JAVA_HOME=/usr/lib/jvm/java-11-openjdk'

✅ 方案三:使用 SDKMAN(适合开发者,强烈推荐)

如果你经常切换 Java / Maven / Gradle,这是最省事的方式。

1️⃣ 安装 SDKMAN

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

2️⃣ 安装 Java

sdk list java
sdk install java 8.0.392-tem
sdk install java 11.0.21-tem

3️⃣ 切换 Java

sdk use java 8.0.392-tem
sdk default java 11.0.21-tem

✅ 不需要改系统配置
✅ 不影响其他用户


✅ 检查当前 Java 使用情况

which java
java -version
echo $JAVA_HOME

✅ 选择建议

场景 推荐方式
服务器 / 系统级 alternatives
开发 / 多项目 JAVA_HOME
频繁切换版本 SDKMAN

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

  • ✅ CentOS 7 还是 8 / Stream?
  • ✅ OpenJDK 还是 Oracle JDK?
  • ✅ 是服务器还是开发机?

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

0