温馨提示×

Ubuntu如何切换Java版本

小樊
39
2026-08-11 18:49:41
栏目: 编程语言

在 Ubuntu 上切换 Java 版本,常用且推荐的方法是使用 update-alternatives。下面按步骤说明。


一、查看已安装的 Java 版本

update-alternatives --list java

如果系统中有多个 Java,会看到类似:

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

二、切换 Java 版本(推荐方式)

1️⃣ 切换 java

sudo update-alternatives --config java

输出示例:

There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-17-openjdk-amd64/bin/java      1711      auto mode
  1            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
  2            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      manual mode
  3            /usr/lib/jvm/java-17-openjdk-amd64/bin/java      1711      manual mode

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

输入对应数字并回车即可。


2️⃣ 切换 javac(非常重要)

sudo update-alternatives --config javac

3️⃣ 切换其他相关命令(可选)

sudo update-alternatives --config javap
sudo update-alternatives --config javadoc
sudo update-alternatives --config jar

三、验证当前 Java 版本

java -version
javac -version

四、通过环境变量切换(不推荐但可用)

编辑 ~/.bashrc~/.zshrc

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

生效:

source ~/.bashrc

⚠️ 这种方式只对当前用户生效,且可能与系统工具冲突。


五、安装新 Java 版本(如尚未安装)

OpenJDK

sudo apt update
sudo apt install openjdk-17-jdk

Oracle JDK(手动)

  1. 下载 .deb.tar.gz
  2. 解压到 /usr/lib/jvm/
  3. 再用 update-alternatives 注册

六、常见问题

❓ 切换后 java -version 不变

  • 检查是否同时切换了 javajavac
  • 检查 PATH 是否被手动覆盖
  • 重新登录或 source ~/.bashrc

❓ 多用户环境

  • 系统级切换用 update-alternatives
  • 用户级切换用 JAVA_HOME

如果你愿意,我可以:

  • 帮你判断该用 Java 8 / 11 / 17 / 21
  • 给你一条 一键切换脚本
  • 解决 IDE(IDEA / VS Code)仍用旧 Java 的问题

0