问题
在实际开发过程中,可能会遇到需要不同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