步骤1: 下载Java 17 JDK
-
访问Oracle官网下载Java 17 JDK:
- 打开浏览器,访问 Oracle JDK 17 下载页面。
-
登录并接受许可协议:
- 如果你是Oracle用户,登录你的账户。如果不是,你可能需要创建一个账户或接受Oracle的许可协议才能下载。
-
选择Java 17下载:
- 在下载页面上,选择适合你的操作系统和架构的版本。博主这里第一次下错了下成arm版本,大家细心点吧哈哈。
-
下载 JDK 17:
- 点击下载链接,下载名为
jdk-17_linux-x64_bin.tar.gz
的压缩包。(这里看个人需要的对应包)
- 点击下载链接,下载名为
-
使用wget下载(如果浏览器下载不成功):
wget --no-cookies --no-check-certificate --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/17/latest/jdk-17_linux-x64_bin.tar.gz
6.确认Java8是否已存在
# Java 8 通常预装在许多Linux发行版中
# 使用下面的命令检查Java 8是否已安装,未安装按照以下步骤进行即可。
java -version
步骤2: 安装Java 17 JDK
-
解压 JDK 17:
-
使用 使用
tar
命令解压到/usr/lib/jvm/
目录(原因是该目录是系统默认的用于存放JDK的标准目录):sudo tar -xzf jdk-17_linux-x64_bin.tar.gz -C /usr/lib/jvm/
-
-
验证安装:
-
解压完成后,使用ls命令检查 JDK 是否已正确解压到/usr/lib/jvm/:
ls -l /usr/lib/jvm/
-
-
设置环境变量(可选):
-
打开你的 shell 配置文件,例如/.bashrc或/.bash_profile,添加以下行来设置JAVA_HOME环境变量:
export JAVA_HOME=/usr/lib/jvm/jdk-17.0.12 export PATH=$JAVA_HOME/bin:$PATH
-
然后,使更改生效:
source ~/.bashrc
-
-
验证 Java 版本:
-
验证 JDK 17 是否正确安装并设置:
java -version
-
步骤3: 配置 update-alternatives
-
安装alternatives
yum install alternatives
-
配置 Java 版本(后面的数字决定优先级):
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre/bin/java 1 sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/bin/javac 1 sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-17.0.12/bin/java 2 sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk-17.0.12/bin/javac 2
-
设置默认的 Java 版本:
sudo update-alternatives --set java /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/jre/bin/java sudo update-alternatives --set javac /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/bin/javac
步骤4: 编写切换脚本
-
创建切换脚本文件:
vim /usr/local/bin/switch-java.sh
-
编写脚本内容:
#!/bin/bash
# 接受一个参数,用于选择Java版本
version=$1
# 根据参数选择Java版本
if [ "$version" -eq 1 ]; then
java_path=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64
javac_path=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.312.b07-2.el8_5.x86_64/bin
elif [ "$version" -eq 2 ]; then
java_path=/usr/lib/jvm/jdk-17.0.12
javac_path=/usr/lib/jvm/jdk-17.0.12/bin
else
echo "Invalid version. Use 1 for Java 8 or 2 for Java 17."
exit 1
fi
# 更新Java和Javac的链接
sudo update-alternatives --set java "$java_path/jre/bin/java"
sudo update-alternatives --set javac "$javac_path/javac"
# 打印当前Java版本
echo "Switched to Java version:"
java -version
-
保存并退出编辑器:
-
按下 Esc,
:wq
退出
-
-
给予脚本执行权限:
sudo chmod +x /usr/local/bin/switch-java.sh
步骤5: 配置全局使用
-
将脚本添加到 PATH 环境变量(如果尚未添加):
shell解释# 打开用户配置文件 nano ~/.bashrc # 在文件末尾添加以下行 export PATH=$PATH:/usr/local/bin # 保存并退出编辑器
-
应用环境变量更改:
source ~/.bashrc
-
测试脚本(任意目录均可):
# 切换到Java 8 switch-java.sh 1
# 切换到Java 17
switch-java.sh 2
- 验证 Java 版本:
java -version
5.到此大功告成
你看完了?可以给我点点赞吗关注一下博主公众号,全部技术文档也都在此集合喽