windows下两个版本的JDK任意切换

前提说明

windows下的不同的用户可能有不同的权限,因此需要先保证用户有权限修改环境变量。步骤如下:

打开注册表:HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment

右键点击Environment,然后点击权限,如下图:


windows下两个版本的JDK任意切换_第1张图片

打开如下窗口:


windows下两个版本的JDK任意切换_第2张图片

分别点击组或用户名(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; 这样配置后问题解决。

版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(windows下两个版本的JDK任意切换)