Java多个版本共存


WIN10下JDK多个共存并切换使用JDK方法

由于公司中使用的JDK是1.70,而本人现在需要学习Stringboot2.0需要使用到JDK1.80,所以百度了很多大佬的方法,目前已经切换成功了,我现在总结下,也是给自己以后个方便

首先安装JDK1.80

  1. 直接去官网下载jdk,选择所需的jdk版本下载, https://www.oracle.com/technetwork/java/javase/downloads/index.html
  2. 安装
  3. 以前配置过就没必要再重新配置环境变量了。

存在问题

  1. 想要查看JDK是否安装配置成功,需要再dos窗口中输入 java -version。在安装JDK1.8之后,还没有在环境中配置JDK1.8的信息。但是执行 java -version会看到JDK1.8的信息。注意我以前的JDK版本是1.70

原因

  1. 在安装JDK1.8之后,会自动将java.exe、javaw.exe、javaws.exe三个可执行文件复制到系统目录。由于这个目录在WINDOWS环境变量中的优先级高于path设置的环境变量优先级。

解决方法

  1. C:\Program Files (x86)\Common Files\Oracle\Java\javapath目录下的三个可执行文件删除。这个目录是根据环境变量里的PATH来看的。
  2. 然后把cmd窗口关闭,将环境变量path中的%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;放到最前面。
  3. 重新打开cmd窗口,输入 java -version 就可以看到1.70的jdk版本啦!

切换JDK版本

有两种方法:

  1. 手动改变JAVA_HOME中的路径为JDK版本的路径
    手动改变JAVA_HOME中的路径为JDK版本的路径
    注意,将环境变量path中的%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;放到最前面

    打开cmd输入,java -version就可以看到版本已经切换了。
  2. 通过编写批处理脚本来进行动态的切换。
    其实道理是一样的。复制以下代码,更改后缀为.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。


更换成功啦。

 
 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM