1. 程式人生 > >windows下使用批處理指令碼實現多個版本的JDK切換

windows下使用批處理指令碼實現多個版本的JDK切換

一.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版本切換工具下載