在 Ubuntu 上设置 默认 Java(JDK / JRE)版本,通常使用 update-alternatives 工具。下面按常见场景一步步说明。
update-alternatives --list java
如果输出类似:
/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
说明系统里已有多个 Java 版本。
java 默认版本sudo update-alternatives --config java
会看到类似:
有 3 个候选项可用于替换 java (提供 /usr/bin/java)。
选择 路径 优先级 状态
------------------------------------------------------------
* 0 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 自动模式
1 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 手动模式
2 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 手动模式
3 /usr/lib/jvm/java-17-openjdk-amd64/bin/java 1711 手动模式
Press <enter> to keep the current choice[*], or type selection number:
输入对应数字并回车即可。
javac(如果有 JDK)sudo update-alternatives --config javac
⚠️ 如果只装了 JRE,则没有
javac
java -version
javac -version
JAVA_HOME(推荐)update-alternatives --config java
假设选的是:
/usr/lib/jvm/java-17-openjdk-amd64/bin/java
那么 JAVA_HOME 应为:
/usr/lib/jvm/java-17-openjdk-amd64
编辑配置文件(选一个):
nano ~/.bashrc
# 或
nano /etc/profile
添加:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
生效:
source ~/.bashrc
验证:
echo $JAVA_HOME
sudo apt update
sudo apt install openjdk-17-jdk
.deb 或 .tar.gz/usr/lib/jvm/update-alternatives 注册java -version 不变?PATH 里有其他 Java(如 snap、手动安装)which java
/etc/profile 或 /etc/environment~/.bashrc如果你愿意,可以告诉我:
我可以给你更精确的命令 ✅