Skip to content

jdk切换

ubuntu 安装了多个jdk版本后,可以使用以下方法进行切换

    1. 使用update-alernatives工具(推荐)
    1. 手动设置环境变量
bash
# 如果你不确定安装路径,可以使用以下命令查找:
sudo update-java-alternatives -l
# 或者
ls /usr/lib/jvm/

1. 首先将两个JDK添加到 alternatives 系统

bash
# 添加 JDK 8
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_xxx/bin/java 1
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_xxx/bin/javac 1

# 添加 JDK 21
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-21/bin/java 2
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk-21/bin/javac 2

2. 切换JDK版本

bash
# 交互式选择版本
sudo update-alternatives --config java

# 系统会显示类似以下内容:
# 有 2 个候选项可用于替换 java (提供 /usr/bin/java)。
# 选择       路径                                    优先级  状态
# ------------------------------------------------------------
# * 0            /usr/lib/jvm/jdk-21/bin/java          2         自动模式
#   1            /usr/lib/jvm/jdk1.8.0_xxx/bin/java    1         手动模式
#   2            /usr/lib/jvm/jdk-21/bin/java          2         手动模式
# 要维持当前值[*]请按<回车键>,或者键入选择的编号:

# 补装一个jdk17
sudo apt update
sudo apt install openjdk-17-jdk

3. 验证切换结果

bash
# 验证 java 版本
java -version

# 验证 javac 版本
javac -version

# 查看java的配置
sudo update-alternatives --config java
# 删除java所有配置
sudo update-alternatives --remove-all java

# 查看javac的配置
sudo update-alternatives --config javac
# 删除javac所有配置
sudo update-alternatives --remove-all javac