WIN10下JDK多个共存并切换使用JDK方法
由于公司中使用的JDK是1.70,而本人现在需要学习Stringboot2.0需要使用到JDK1.80,所以百度了很多大佬的方法,目前已经切换成功了,我现在总结下,也是给自己以后个方便
首先安装JDK1.80
- 直接去官网下载jdk,选择所需的jdk版本下载, https://www.oracle.com/technetwork/java/javase/downloads/index.html
- 安装
- 以前配置过就没必要再重新配置环境变量了。
存在问题
- 想要查看JDK是否安装配置成功,需要再dos窗口中输入 java -version。在安装JDK1.8之后,还没有在环境中配置JDK1.8的信息。但是执行 java -version会看到JDK1.8的信息。注意我以前的JDK版本是1.70
原因
- 在安装JDK1.8之后,会自动将java.exe、javaw.exe、javaws.exe三个可执行文件复制到系统目录。由于这个目录在WINDOWS环境变量中的优先级高于path设置的环境变量优先级。
解决方法
- 将C:\Program Files (x86)\Common Files\Oracle\Java\javapath目录下的三个可执行文件删除。这个目录是根据环境变量里的PATH来看的。
- 然后把cmd窗口关闭,将环境变量path中的%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;放到最前面。
- 重新打开cmd窗口,输入 java -version 就可以看到1.70的jdk版本啦!
切换JDK版本
有两种方法:
- 手动改变JAVA_HOME中的路径为JDK版本的路径
注意,将环境变量path中的%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;放到最前面
打开cmd输入,java -version就可以看到版本已经切换了。 - 通过编写批处理脚本来进行动态的切换。
其实道理是一样的。复制以下代码,更改后缀为.bat格式,文件名自取。注意下面代码的JAVA_HOME的JDK安装路径根据自己电脑的情况来定。
@echo off
rem --- Base Config 配置JDK的安装目录 --- :init set JAVA_HOME_1_8=D:\Java\jdk1.8.0_191 set JAVA_HOME_1_7=D:\Java\jdk1.7.0_80 set RefreshEnv=D:\Java\RefreshEnv.exe echo 当前使用的JDK 版本: java -version echo. echo ============================================= echo jdk版本列表 echo 1.8 echo 1.7 echo ============================================= :select set /p opt=请选择jdk版本: if %opt%==1.8 ( set TARGET_JAVA_HOME=%JAVA_HOME_1_8% ) if %opt%==1.7 ( set TARGET_JAVA_HOME=%JAVA_HOME_1_7% ) echo 当前选择的Java路径:%TARGET_JAVA_HOME% wmic ENVIRONMENT where "name='JAVA_HOME'" delete wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="%TARGET_JAVA_HOME%" rem -- refresh env --- call %RefreshEnv% echo 请按任意键退出! pause>nul @echo on
然后,将此文件跟RefreshEnv.exe辅助软件放到同一个目录下,辅助文件下载地址
最后,使用管理员身份来运行switchVersion.bat文件。选择JDK版本。
虽然我上面显示的JDK版本内容显示的有错误,但是我试过这个方法能运行成功,下面放下版本切换成功的图,从1.80切换到1.70。
更换成功啦。