使用压缩包安装jdk多版本并能领过切换
- 1.下载
- 2.解压包到指定位置
- 3.使用pdate-alternatives 进行版本切换管理
- 3.1. jdk17
- 3.2. jdk1.8
- 3.切换版本
- 4.解决JAVA_HOME环境变量识别的问题
1.下载
官网的下载地址:
下载地址:
jdk17:
jdk1.8在当前页面的下面:
下载好的文件:
2.解压包到指定位置
tar -xvf xx.tar.gz
我解压的两个包
3.使用pdate-alternatives 进行版本切换管理
提醒:update-alternatives命令后面的数字是优先级的意思,不同版本设置不同的优先级就行,默认版本,可以手动选择版本
关于 sudo update-alternatives --config xxx 命令的使用,可以查看这个手册 update-alternatives - Linux man page
3.1. jdk17
jdk17中java、javac的设置:
sudo update-alternatives --install /usr/bin/java java /usr/envir/jdk/jdk-17.0.7/bin/java 1
sudo update-alternatives --install /usr/bin/javac javac /usr/envir/jdk/jdk-17.0.7/bin/javac 1
jdk17中jshell的设置:
因为JDK9中引入了jshell,所以还需要建立jshell命令的软连接
sudo update-alternatives --install /usr/bin/jshell jshell /usr/envir/jdk/jdk-17.0.7/bin/jshell 1
3.2. jdk1.8
jdk1.8中java,javac的设置:
sudo update-alternatives --install /usr/bin/java java /usr/envir/jdk/jdk1.8.0_371/bin/java 2
sudo update-alternatives --install /usr/bin/javac javac /usr/envir/jdk/jdk1.8.0_371/bin/javac 2
3.切换版本
sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config jshell
版本确认
java --version
javac --version
jdk1.8的老版的版本命令查询不同:java -version
4.解决JAVA_HOME环境变量识别的问题
验证 JAVA_HOME 环境:echo $JAVA_HOME
使用该命令找到安装路径
sudo update-alternatives --config java
当前路径为:/usr/envir/jdk/jdk-17.0.7(每个人不一定相同)
sudo vim /etc/environment
假设你想设置 JAVA_HOME 指定到 OpenJDK 17,在文件的末尾,添加下面的行:
JAVA_HOME="/usr/envir/jdk/jdk-17.0.7"
想要让修改在当前 shell 生效,你可以登出系统,再登入系统,或者运行下面的命令:
source /etc/environment
再次验证 JAVA_HOME 环境变量被正确设置:
echo $JAVA_HOME