准备
先安装两个jdk,我安装的是jdk8和17
下载可去官网,下面这个是老版本下载路径
https://www.oracle.com/java/technologies/downloads/archive/
我下载后进行了默认安装,可以修改,安装路径不要出现中文
jdk17默认没有jre,可以使用下面的命令安装
bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre
配置环境变量
注:一般都会在系统变量处配置,配置结果可以作用于这个计算机的所有用户,我在用户变量处配置,只作用于当前用户,因为脚本只能修改用户变量
1.配置CLASSPATH,大写,建议置顶
内容是:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
2.配置JAVA_HOME,内容是jdk安装路径
3.配置PATH环境变量
%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin
只要这两个配置上方没有java相关的环境变量配置,置不置顶无所谓
注:原理:当系统运行程序或命令时,会去系统变量里查找命令的相关位置,并且按顺序,从上到下找。
环境变量配置好后,测试
开始骚操作
提示:如果要使用下面的方法,建议将系统变量里的所有JAVA相关配置删除,只在用户变量中配置,避免存在影响,当然,如果你很叼,当我没说
通过命令修改用户配置的JAVA_HOME来修改环境变量调用的java版本
这条命令是将JAVA_HOME的值修改为jdk1.8的安装路径,并且永久生效(关闭当前cmd窗口后)
setx JAVA_HOME "C:\Program Files\Java\jdk1.8.0_301\\"
测试
有了命令,就肯定脚本更骚
编辑一个8.bat文件 将路径改为你的jdk安装路径
setx JAVA_HOME "C:\Program Files\Java\jdk1.8.0_301\\"
echo "成功修改为8版本"
pause
直接运行,骚到飞起
要想改回jdk17,再写一个17.bat文件,一样的操作
setx JAVA_HOME "C:\Program Files\Java\jdk-17.0.4\\"
echo "成功修改为17版本"
pause
当然,如果你想要更骚一点
写一个可以选择的bat脚本也可以
@echo off
chcp 65001
echo 请选择要设置的Java版本:
echo 1. JDK 8
echo 2. JDK 17
set /p choice=请输入选项(1或2):
if "%choice%"=="1" (
setx JAVA_HOME "C:\Program Files\Java\jdk1.8.0_301\\"
echo "成功修改为8版本"
) else if "%choice%"=="2" (
setx JAVA_HOME "C:\Program Files\Java\jdk-17.0.4\\"
echo "成功修改为17版本"
) else (
echo 无效的选项,请重新运行脚本并输入正确的选项。
)
pause
这个脚本可以添加,所以,可以支持多个jdk的随意切换
运行测试
当前jdk1.8
运行脚本,选择2
切换成功 Perfect!!!