温馨提示×

Ubuntu能同时装多个Java吗

小樊
40
2026-08-11 18:54:44
栏目: 编程语言

可以的,Ubuntu 完全支持同时安装多个 Java 版本,而且这是很常见的做法。下面给你几种常用、推荐的方式,从简单到更专业。


✅ 一、最推荐方式:update-alternatives(官方/常用)

Ubuntu 自带一套“多 Java 版本管理”机制。

1️⃣ 同时安装多个 Java

例如同时安装 Java 8 和 Java 17

sudo apt update
sudo apt install openjdk-8-jdk
sudo apt install openjdk-17-jdk

你也可以混装:

  • OpenJDK
  • Oracle JDK
  • Adoptium / Temurin

2️⃣ 查看已安装的 Java

update-alternatives --list java

示例输出:

/usr/lib/jvm/java-8-openjdk-amd64/bin/java
/usr/lib/jvm/java-17-openjdk-amd64/bin/java

3️⃣ 切换默认 Java 版本

sudo update-alternatives --config java

输出示例:

有 2 个候选项可用于替换 java (提供 /usr/bin/java)

选择       路径                                          优先级   状态
------------------------------------------------------------
* 0            /usr/lib/jvm/java-17-openjdk-amd64/bin/java   1711      自动模式
  1            /usr/lib/jvm/java-8-openjdk-amd64/bin/java    1081      手动模式
  2            /usr/lib/jvm/java-17-openjdk-amd64/bin/java   1711      手动模式

Press <enter> to keep the current choice[*], or type selection number:

选数字即可切换。


4️⃣ 同时切换 javac

sudo update-alternatives --config javac

✅ 二、多 Java 共存但不切换(更灵活)

不修改系统默认 Java,而是:

方法 1:项目级指定 JAVA_HOME

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

适合:

  • Maven / Gradle 项目
  • 不同项目用不同 Java

方法 2:Maven 指定 Java

mvn -Dmaven.compiler.release=8 clean package

或在 pom.xml 中指定。


✅ 三、更专业:使用 SDKMAN(强烈推荐开发者)

如果你经常切换 Java 版本,SDKMAN 是最舒服的方案

安装 SDKMAN

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

安装多个 Java

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

临时切换

sdk use java 8.0.392-tem

永久切换

sdk default java 17.0.9-tem

✅ 不影响系统 Java
✅ 支持 Oracle / OpenJDK / GraalVM / Temurin 等


✅ 四、总结对比

方式 适合人群 是否推荐
update-alternatives 系统级、服务器 ⭐⭐⭐⭐
手动 JAVA_HOME 项目级 ⭐⭐⭐
SDKMAN 开发者 ⭐⭐⭐⭐⭐

✅ 一句话结论

Ubuntu 可以同时安装多个 Java,而且非常安全、常见。
推荐:

  • 服务器 → update-alternatives
  • 开发 → SDKMAN

如果你愿意,我可以帮你:

  • 指定 Ubuntu 版本
  • 指定 要用 Java 8 / 11 / 17 / 21
  • 给你一套 最干净的配置方案

0