windows下使用批處理指令碼實現多個版本的JDK切換
阿新 • • 發佈:2018-12-15
一.JDK版本切換批處理指令碼
我們平時在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版本切換工具下載