windows下两个版本的JDK任意切换
概括总结
2018年9月25日,Java11发布了。发布几天后我就在电脑上装了一个,一直没用上。今天想用一下,但是发现修改环境变量挺麻烦的,于是就想写个工具来自动切换。
前提说明
windows下的不同的用户可能有不同的权限,因此需要先保证用户有权限修改环境变量。步骤如下:
打开注册表:HKEY_LOCAL_MACHINESYSTEMControlSet001ControlSession ManagerEnvironment
右键点击Environment,然后点击权限,如下图:
打开如下窗口:
分别点击组或用户名(G):下的每一行记录,然后把窗口下半部分的权限勾上。(有一些如果是灰色,代表不允许修改,则跳过)
编写批处理脚本
接下来就需要编写批处理脚本了,新建一个jdkSwitch.bat文件,以文本的方式打开,然后输入下面的内容(【注意修改为你自己的JDK路径】)。如果你不想自己创建文件,也可以下载这个文件 ,下载之后修改文件名,然后以文本的方式打开,把其中的路径修改为你自己的JDK路径,就可以了。
:: JDK8所在的路径 SET JDK8_PATH=D:Program FilesJavajdk1.8.0_171 :: JDK11所在的路径 SET JDK11_PATH=C:Program FilesJavajdk-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就可以看到效果了。