虽然可以手写脚本在必要的时候切换成需要的Java版本,也可以利用update-alternatives命令协助切换。
- 获取当前Java版本(如下为java11)
update-alternatives --display java
“link java is /usr/bin/java
/usr/lib/jvm/java-11-openjdk-amd64/bin/java - priority 1111” - 增加新的java/javac/javap (如下示例是jdk23)版本,设定优先级为2000以优先使用
sudo update-alternatives --install /usr/bin/java java /myjdk23/bin/java 2000
sudo update-alternatives --install /usr/bin/javac javac /myjdk23/bin/javac 2000
sudo update-alternatives --install /usr/bin/javap javap /myjdk23/bin/javap 2000 - 确认默认是JDK 23
java -version
"openjdk 23-internal 2024-09-17"
切回到原来的版本(以java为例,javac/javap类似)
- sudo update-alternatives --config java
"Selection Path Priority Status
*0 /myjdk23/bin/java 2000 auto mode
1 /myjdk23/bin/java 2000 manual mode
2 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode"
- 如上,默认是0,输入2即可切换到java11.
