温馨提示×

Debian怎么切换Java版本

小樊
36
2026-07-30 13:14:17
栏目: 编程语言

Debian 系统中切换 Java 版本,常用而且推荐的方法是使用 update-alternatives。下面按常见场景一步步说明。


一、查看已安装的 Java 版本

update-alternatives --list java

如果输出类似:

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

说明系统中已安装多个 Java 版本。


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

1️⃣ 切换 java

sudo update-alternatives --config java

示例输出:

There are 2 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-11-openjdk-amd64/bin/java     1111      manual mode
  2            /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(如果使用 Java 开发)

sudo update-alternatives --config javac

⚠️ 很多问题是只切了 java,没切 javac,导致版本不一致。


三、验证当前 Java 版本

java -version
javac -version

四、设置 JAVA_HOME(可选但推荐)

1️⃣ 查找 Java 安装路径

update-alternatives --config java

假设选择的是:

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

JAVA_HOME 应为:

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

2️⃣ 配置环境变量

编辑 ~/.bashrc/etc/profile

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

使配置生效:

source ~/.bashrc

验证:

echo $JAVA_HOME

五、Debian 12+(可选)使用 systemd-aware 方式

如果你用的是 Debian 12 (Bookworm),还可以用:

sudo dpkg-reconfigure ca-certificates

⚠️ 这个和 Java 版本无关,只是提醒你 Debian 工具链在变化。


六、临时切换 Java 版本(不推荐长期使用)

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

只对当前 shell 会话有效。


七、常见问题

❓ 没有 update-alternatives --list java 输出

说明没安装 JDK/JRE,可安装:

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

❓ Debian 默认 Java 是什么?

  • Debian 默认通常是 OpenJDK
  • 版本取决于 Debian 版本(如 Debian 11 默认 Java 11)

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

  • Debian 版本(如 11 / 12)
  • 使用的是 JDK 还是 JRE
  • 是否是服务器 / 桌面 / Docker 环境

我可以给你更精确的方案 ✅

0