Windows下自由切换java8和java11

问题

 在实际开发过程中,可能会遇到需要不同jdk版本的情况。
复制代码

解决

前提条件

1、安装open jdk11

jdk.java.net/java-se-ri/…
下载并解压,需要注意:
jdk11解压后默认是没有jre的,需要在解压后的根路径下,执行以下命令:

bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre
复制代码

2、安装jdk8

在oracle官网,登录后,下载jdk8的windows64位安装程序,需要注意:
安装程序安装的jdk8,会默认生成以下内容:
2.1、安装程序会自动将java.exe、javaw.exe、javaws.exe三个可执行文件复制到C:\Windows\System32目录,这个目录在WINDOWS环境变量中的优先级高于JAVA_HOME设置的环境变量优先级,故此直接更改JAVA_HOME会无效;
2.2、安装程序会在C:\ProgramData\Oracle\Java目录中生成一些配置文件,并同时将此目录写到环境变量中的Path中。
因此,需要删除C:\Windows\System32目录下的java.exe、javaw.exe、javaws.exe三个文件;
删除环境变量Path中C:\ProgramData\Oracle\Java\javapath的配置。

3、一键切换脚本

:分别设置jdk8和jdk11的根路径
SET JDK8_PATH=D:\InstallTo\Java\jdk1.8.0_241
SET JDK11_PATH=D:\InstallTo\Java\jdk-11

IF "%JAVA_HOME%"=="%JDK8_PATH%" ( 
    setx /M JAVA_HOME "%JDK11_PATH%" 
    ECHO "set JAVA_HOME to finish- >%JDK11_PATH%"
) ELSE ( 
    setx /M JAVA_HOME "%JDK8_PATH%" 
    ECHO "set JAVA_HOME to finish - > %JDK8_PATH%"
)
pause
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享