我们平时在window上做开发的时候,可能需要同时开发两个甚至多个项目,有时不同的项目对JDK的版本要求有区别,这时候我们可能会在一台电脑上安装多个版本的JDK,如下图所示:
当我们想要切换使用的JDK版本时,我们可以有两种做法:
1.手动去修改JAVA_HOME环境变量,将变量的值指向对应的JDK版本的安装目录即可.
2.通过编写批处理脚本来根据选择的JDK版本动态修改JAVA_HOME环境变量的值,这是一种偷懒的做法,这种做法需要一个RefreshEnv.exe辅助软件来刷新环境变量的值
在网上找到了一段可以动态修改JAVA_HOME环境批处理脚本,从而实现了JDK版本的动态切换,脚本代码如下:
- 1 @echo off
- 2
- 3 rem --- Base Config 配置JDK的安装目录 ---
- 4 :init
- 5 set JAVA_HOME_1_8=C:\Program Files\Java\jdk1.8.0_11
- 6 set JAVA_HOME_1_7=C:\Program Files\Java\jdk1.7.0_45
- 7 set JAVA_HOME_1_6=C:\Program Files\Java\jdk1.6.0_45
- 8 :start
- 9 echo 当前使用的JDK 版本:
- 10 java -version
- 11 echo.
- 12 echo =============================================
- 13 echo jdk版本列表
- 14 echo 1.8
- 15 echo 1.7
- 16 echo 1.6
- 17 echo =============================================
- 18
- 19 :select
- 20 set /p opt=请选择jdk版本:
- 21 if %opt%==1.8 (
- 22 set TARGET_JAVA_HOME=%JAVA_HOME_1_8%
- 23 )
- 24 if %opt%==1.7 (
- 25 set TARGET_JAVA_HOME=%JAVA_HOME_1_7%
- 26 )
- 27 if %opt%==1.6 (
- 28 set TARGET_JAVA_HOME=%JAVA_HOME_1_6%
- 29 )
- 30
- 31 echo 当前选择的Java路径:%TARGET_JAVA_HOME%
- 32
- 33 wmic ENVIRONMENT where "name='JAVA_HOME'" delete
- 34 wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="%TARGET_JAVA_HOME%"
- 35
- 36 rem -- refresh env ---
- 37 call RefreshEnv
- 38
- 39 echo 请按任意键退出!
- 40 pause>nul
- 41
- 42 @echo on
这段批处理脚本代码是根据我们选择的JDK版本来动态修改JAVA_HOME环境变量的,然后RefreshEnv.exe来刷新环境变量的值.
将上述的批处理脚本代码保存为.bat文件,并将RefreshEnv.exe辅助软件和.bat脚本文件放到同一个目录下,如下图所示:
双击.bat文件运行批处理脚本,根据提示操作即可,如下图所示:
执行完成后,JAVA_HOME环境变量的值就被修改成对应的JDK版本的安装目录了
这段批处理脚本只会修改JAVA_HOME环境变量的值,不会影响到Path变量的值,因此可以放心使用.为了方便大家使用,我把工具分享给大家,JDK版本切换工具下载