咱們平時在window上作開發的時候,可能須要同時開發兩個甚至多個項目,有時不一樣的項目對JDK的版本要求有區別,這時候咱們可能會在一臺電腦上安裝多個版本的JDK,以下圖所示:java
當咱們想要切換使用的JDK版本時,咱們能夠有兩種作法:工具
1.手動去修改JAVA_HOME環境變量,將變量的值指向對應的JDK版本的安裝目錄便可.spa
2.經過編寫批處理腳原本根據選擇的JDK版本動態修改JAVA_HOME環境變量的值,這是一種偷懶的作法,這種作法須要一個RefreshEnv.exe輔助軟件來刷新環境變量的值code
在網上找到了一段能夠動態修改JAVA_HOME環境批處理腳本,從而實現了JDK版本的動態切換,腳本代碼以下:blog
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腳本文件放到同一個目錄下,以下圖所示:rem
雙擊.bat文件運行批處理腳本,根據提示操做便可,以下圖所示:get
執行完成後,JAVA_HOME環境變量的值就被修改爲對應的JDK版本的安裝目錄了it
這段批處理腳本只會修改JAVA_HOME環境變量的值,不會影響到Path變量的值,所以能夠放心使用.爲了方便你們使用,我把工具分享給你們,JDK版本切換工具下載io