在 Debian 系统中切换 Java 版本,通常使用 update-alternatives 工具。下面是常见做法。
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
javasudo 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:
输入对应数字并回车即可。
javac(编译器)sudo update-alternatives --config javac
⚠️ 如果你使用 Java 开发,一定要同时切换
javac,否则版本可能不一致。
java -version
javac -version
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
编辑:
sudo nano /etc/environment
添加或修改:
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
使配置生效:
source /etc/environment
验证:
echo $JAVA_HOME
sudo apt update
sudo apt install openjdk-11-jdk
sudo apt install openjdk-17-jdk
java 和 javac~/.bashrc、~/.profile 中手动设置了 JAVA_HOME如果你告诉我:
我可以给你更精确的配置方案。