在 Debian 系统中切换 Java 版本,通常使用 update-alternatives 工具。下面按步骤说明。
update-alternatives --list java
如果系统中有多个 Java,会看到类似:
/usr/lib/jvm/java-11-openjdk-amd64/bin/java
/usr/lib/jvm/java-17-openjdk-amd64/bin/java
javasudo 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-11-openjdk-amd64/bin/java 1111 手动模式
2 /usr/lib/jvm/java-8-openjdk-amd64/bin/java 1081 手动模式
按 <回车> 保留当前选择[*],或者输入编号:
输入对应编号并回车即可。
javac(编译器)sudo update-alternatives --config javac
⚠️ 如果你使用 Java 开发,建议
java和javac保持一致。
java -version
javac -version
update-alternatives --display java
或:
readlink -f /usr/bin/java
例如:
/usr/lib/jvm/java-17-openjdk-amd64/bin/java
则 JAVA_HOME 为:
/usr/lib/jvm/java-17-openjdk-amd64
编辑 /etc/profile.d/java.sh:
sudo nano /etc/profile.d/java.sh
内容示例:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
生效:
source /etc/profile.d/java.sh
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
说明未安装对应版本:
sudo apt update
sudo apt install openjdk-17-jdk
Debian 12(Bookworm)默认通常是 OpenJDK 17。
如果你愿意,可以告诉我:
我可以给你更精确的配置方案。