首頁 > 軟體

Java多個版本切換的幾種方法

2023-03-23 22:04:37

問題描述

平常用的是java8,最近在學習java的新特性。這就需要從java8往更高的java版本切換。由於還在使用java8,測試完新特性後我需要再切換回java8.

如何切換

安裝java的時候我們會設定JAVA_HOME這個環境變數.所有要切換java版本,只需要修改JAVA_HOME即可,在JAVA_HOME裡面寫上java8的安裝目錄,那就使用的是java8,JAVA_HOME裡面寫上java9的安裝目錄,則使用的是java9

解決方案

手動切換

手動修改,JAVA_HOME中的地址即可,這裡不介紹。

在cmd中臨時切換java版本

例如現在在cmd中,臨時需要用到java9的jshell,可以輸入如下命令進行設定:

set path=E:javajava9jdk-9bin;%path%

其中:

E:javajava9jdk-9bin

是jdk9的安裝路徑.

批次處理實現

因為手動修改JAVA_HOME,太過繁瑣,所以通過一個批次程式來實現.

新增環境變數

新增JAVA_HOME_8,JAVA_HOME_9,JAVA_HOME_11分別寫入java8,java9,java11的安裝目錄,這和設定JAVA_HOME一樣.

批次處理指令碼

建立一個名為快捷方式的目錄。

TJava.bat

在這個快捷方式目錄下新建TJava.bat,寫入如下命令:

@echo off
java -version
pause

執行這個批次處理就可以看到當前用的是哪個java版本了.這裡使用批次處理是為了快速執行這個java -version命令,不用手動操作。

CJavaBat.bat

然後在快捷方式下,建立批次處理指令碼CJavaBat.bat,開頭的Cchange的意思.

@echo off
@echo ------------------------------------------------
@echo 當前Java版本為:
call TJava.bat
@echo ------------------------------------------------
@echo 輸入要使用的java版本對應的選項:
@echo 選項   含義
@echo 8      切換環境為JDK8
@echo 9      切換環境為JDK9
@echo 11     切換環境為JDK11
@echo ------------------------------------------------
set /P choose=請輸入選擇:
IF "%choose%" EQU "8" (
    REM 修改JAVA_HOME環境變數為%JAVA_HOME_8%,
    setx "JAVA_HOME" "%%JAVA_HOME_8%%" /m
    echo 已經修改 "JAVA_HOME" 為 %%JAVA_HOME_8%%
) ELSE IF "%choose%" EQU "9" (
    setx "JAVA_HOME" "%%JAVA_HOME_9%%" /m
    echo 已經修改 "JAVA_HOME" 為 %%JAVA_HOME_9%%
REM setx "Path" "%cd%;%path%" /m
) ELSE IF "%choose%" EQU "11" (
    setx "JAVA_HOME" "%%JAVA_HOME_11%%" /m
    echo 已經修改 "JAVA_HOME" 為 %%JAVA_HOME_11%%
)
pause

上面程式中的setx命令就是用來修改環境變數的.語法格式為:setx 環境變數名 環境變數值 /msetx設定環境變數需要管理員許可權,以管理員身份,執行上面的CJavaBat.bat就可以修改JAVA_HOME環境變數的內容,從而切換Java版本。

CJavaBat.bat設定管理員許可權

建立CJavaBat.bat的快捷方式,然後將這個快捷方式重新命名為CJava,注意一定要修改名字。
然後在快捷方式上面右鍵。選擇屬性,在快捷方式索引標籤上,點選高階,然後勾選上用管理員身份執行
這樣以後直接點選CJava這個快捷方式就可以以管理身份執行CJavaBat.bat這個批次處理指令碼了。

設定CJava到Path環境變數

將這個快捷方式目錄設定到Path環境變數中,這樣系統會在這個目錄下查詢程式,

通過Win+R執行CJava

然後就可以按下Win+R來啟動執行,結束輸入CJava,即可啟動程式。

CJava程式說明

CJava中輸入選項:8,則切換到Java8,輸入9,則切換到Java9,輸入11則切換到java11,依次類推,可以拓展上面的程式,以支援切換更多的java版本。

CJava執行效果

------------------------------------------------
當前Java版本為:
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
請按任意鍵繼續. . .
------------------------------------------------
輸入要使用的java版本對應的選項:
選項   含義
8      切換環境為JDK8
9      切換環境為JDK9
11     切換環境為JDK11
------------------------------------------------
請輸入選擇:11
成功: 指定的值已得到儲存。
已經修改 "JAVA_HOME" 為 %JAVA_HOME_11%
請按任意鍵繼續. . .

可以看到切換之前是Java8,切換後為Java11

檢視是否切換成功

執行上面建立TJava.bat,檢視執行效果:

java version "11.0.4" 2019-07-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.4+10-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.4+10-LTS, mixed mode)
請按任意鍵繼續. . .

可以看到現在已經成功切換為Java11

到此這篇關於多個Java版本如何切換的文章就介紹到這了,更多相關Java版本切換內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com