温馨提示×

Debian 怎么切换 Java 版本

小樊
44
2026-07-16 01:31:01
栏目: 编程语言

在 Debian 系统中切换 Java 版本,通常使用 update-alternatives 工具。下面是常见做法。


一、查看当前已安装的 Java 版本

update-alternatives --list java

如果系统中有多个 Java(如 OpenJDK 8、11、17),会看到类似:

/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

⚠️ 如果你使用 Java 开发,一定要同时切换 javac,否则版本可能不一致。


三、验证切换结果

java -version
javac -version

四、设置 JAVA_HOME(推荐)

1️⃣ 查看 Java 安装路径

update-alternatives --display java

或:

readlink -f /usr/bin/java

例如:

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

JAVA_HOME 为:

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

2️⃣ 配置环境变量

编辑:

sudo nano /etc/environment

添加或修改:

JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"

使配置生效:

source /etc/environment

验证:

echo $JAVA_HOME

五、如果还没安装 Java

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

六、常见问题

❓ 切换后版本没变?

  • 确认同时切换了 javajavac
  • 检查是否有 ~/.bashrc~/.profile 中手动设置了 JAVA_HOME

如果你告诉我:

  • 服务器 / 桌面
  • 使用的是 OpenJDK 还是 Oracle JDK
  • 是否用于 Maven / Spring / Android

我可以给你更精确的配置方案。

0