概括总结
2018年9月25日,Java11发布了。发布几天后我就在电脑上装了一个,一直没用上。今天想用一下,但是发现修改环境变量挺麻烦的,于是就想写个工具来自动切换。
前提说明
windows下的不同的用户可能有不同的权限,因此需要先保证用户有权限修改环境变量。步骤如下:
打开注册表:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment
右键点击Environment
,然后点击权限
,如下图:
打开如下窗口:
分别点击组或用户名(G):
下的每一行记录,然后把窗口下半部分的权限勾上。(有一些如果是灰色,代表不允许修改,则跳过)
编写批处理脚本
接下来就需要编写批处理脚本了,新建一个jdkSwitch.bat
文件,以文本的方式打开,然后输入下面的内容(【注意修改为你自己的JDK路径】)。如果你不想自己创建文件,也可以下载这个文件jdkSwitch.bat ,下载之后修改文件名,然后以文本的方式打开,把其中的路径修改为你自己的JDK路径,就可以了。
:: JDK8所在的路径
SET JDK8_PATH=D:\Program Files\Java\jdk1.8.0_171
:: JDK11所在的路径
SET JDK11_PATH=C:\Program Files\Java\jdk-11
:: 如果当前的环境是JDK8,则把环境改为JDK11,否则把环境改为JDK8
IF "%JAVA_HOME%"=="%JDK8_PATH%" (
setx /M JAVA_HOME "%JDK11_PATH%"
ECHO "已经装JAVA_HOME设置成了:%JDK11_PATH%"
) ELSE (
setx /M JAVA_HOME "%JDK8_PATH%"
ECHO "已经装JAVA_HOME设置成了:%JDK8_PATH%"
)
修改完成保存之后,双击’jdkSwitch.bat’,就可以实现切换了。由于我只有2个JDK,所以直接用一个if else
语句就可以完成切换了,如果你不止2个JDK,那代码就不能直接用,需要百度一下该怎么写。
切换完成后,打开一个新的cmd
窗口(【强调:一定要是新的cmd窗口】),执行java -version
就可以看到效果了。