在 Ubuntu 上切换 Java 版本,常用且推荐的方法是使用 update-alternatives。下面按步骤说明。
update-alternatives --list java
如果提示没有,说明还没安装或路径不对。
例如同时安装 Java 8 和 Java 17:
sudo apt update
sudo apt install openjdk-8-jdk
sudo apt install openjdk-17-jdk
安装完成后,它们的路径通常是:
/usr/lib/jvm/java-8-openjdk-amd64/bin/java/usr/lib/jvm/java-17-openjdk-amd64/bin/javajavasudo 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-8-openjdk-amd64/bin/java 1081 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:
输入对应数字即可。
javac(编译器)sudo update-alternatives --config javac
⚠️ 一定要同时切换 java 和 javac,否则版本不一致
java -version
javac -version
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
只影响当前 shell。
~/.bashrc 或 ~/.zshrcnano ~/.bashrc
添加:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
生效:
source ~/.bashrc
sudo apt install default-jdk
java 和 javacJAVA_HOME 是否冲突sudo update-alternatives --config java
sudo update-alternatives --config javac
java -version
如果你用的是 Ubuntu 20.04 / 22.04 / 24.04,或需要 Oracle JDK / SDKMAN 方式,我也可以继续帮你。