前提说明
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就可以看到效果了。
以上,感谢作者二胡1999
原文:https://blog.csdn.net/blueskybluesoul/article/details/82951561
---------------------
发现切换后,java版本并没有变化。
原来在系统安装oracle数据库后,oracle使用的jdk被写入path,这样前面配置了JAVA_HOME,但是在java查找jdk时是按照从前到后依次查找,这样始终无法查找到JAVA_HOME配置的JDK,修改path配置,将JAVA_HOME路径设置在最前面(可以检索到的java前面即可)%JAVA_HOME%\bin; 这样配置后问题解决。
版权声明:本文为博主原创文章,转载请附上博文链接!