温馨提示×

Debian Java版本怎么切换

小樊
42
2026-07-02 10:29:28
栏目: 编程语言

在 Debian 系统里切换 Java 版本,通常用 update-alternatives 来管理。下面按常见场景一步步说清楚。


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

update-alternatives --list java

如果已经安装多个 Java,会看到类似:

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

如果列表为空,说明还没注册或没安装。


二、安装 Java(如果还没装)

安装 OpenJDK(推荐)

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

只装你需要的版本即可。


三、切换默认 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/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(很重要)

只切换 java 不够,编译版本也要一起切

sudo update-alternatives --config javac

四、校验当前 Java 版本

java -version
javac -version

五、设置 JAVA_HOME(很多程序需要)

查找 Java 安装路径

update-alternatives --list java

一般路径是:

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

设置全局环境变量(推荐)

编辑:

sudo nano /etc/environment

添加或修改(示例):

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

生效:

source /etc/environment

或重新登录。


六、只给某个用户或项目设置 Java 版本(可选)

用户级

nano ~/.bashrc

添加:

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

生效:

source ~/.bashrc

七、常见问题

❓ 切换后还是老版本?

  • 检查 javac 是否一起切换
  • 检查 $PATH 里是否有其他 Java(如 snap、手动安装)
which java

❓ 没有 update-alternatives 选项?

可能是:

  • Java 没装完整
  • 非 Debian 包安装的 Java(如手动解压)

这种情况只能手动设 JAVA_HOMEPATH


八、快速总结(最常用)

sudo update-alternatives --config java
sudo update-alternatives --config javac
java -version

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

  • Debian 版本(11 / 12 / 10)
  • 用的是 OpenJDK 还是 Oracle JDK
  • 是给系统用、Docker、还是 IDE(IDEA / Eclipse)

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

0