Java多個(gè)版本切換的幾種方法
問(wèn)題描述
平常用的是java8,最近在學(xué)習(xí)java的新特性。這就需要從java8往更高的java版本切換。由于還在使用java8,測(cè)試完新特性后我需要再切換回java8.
如何切換
安裝java的時(shí)候我們會(huì)配置JAVA_HOME這個(gè)環(huán)境變量.所有要切換java版本,只需要修改JAVA_HOME即可,在JAVA_HOME里面寫上java8的安裝目錄,那就使用的是java8,JAVA_HOME里面寫上java9的安裝目錄,則使用的是java9。
解決方案
手動(dòng)切換
手動(dòng)修改,JAVA_HOME中的地址即可,這里不介紹。
在cmd中臨時(shí)切換java版本
例如現(xiàn)在在cmd中,臨時(shí)需要用到j(luò)ava9的jshell,可以輸入如下命令進(jìn)行設(shè)置:
set path=E:\java\java9\jdk-9\bin;%path%
其中:
E:\java\java9\jdk-9\bin
是jdk9的安裝路徑.
批處理實(shí)現(xiàn)
因?yàn)槭謩?dòng)修改JAVA_HOME,太過(guò)繁瑣,所以通過(guò)一個(gè)批處理程序來(lái)實(shí)現(xiàn).
新增環(huán)境變量
新增JAVA_HOME_8,JAVA_HOME_9,JAVA_HOME_11分別寫入java8,java9,java11的安裝目錄,這和配置JAVA_HOME一樣.
批處理腳本
創(chuàng)建一個(gè)名為快捷方式的目錄。
TJava.bat
在這個(gè)快捷方式目錄下新建TJava.bat,寫入如下命令:
@echo off java -version pause
運(yùn)行這個(gè)批處理就可以看到當(dāng)前用的是哪個(gè)java版本了.這里使用批處理是為了快速運(yùn)行這個(gè)java -version命令,不用手動(dòng)操作。
CJavaBat.bat
然后在快捷方式下,創(chuàng)建批處理腳本CJavaBat.bat,開(kāi)頭的C是change的意思.
@echo off
@echo ------------------------------------------------
@echo 當(dāng)前Java版本為:
call TJava.bat
@echo ------------------------------------------------
@echo 輸入要使用的java版本對(duì)應(yīng)的選項(xiàng):
@echo 選項(xiàng) 含義
@echo 8 切換環(huán)境為JDK8
@echo 9 切換環(huán)境為JDK9
@echo 11 切換環(huán)境為JDK11
@echo ------------------------------------------------
set /P choose=請(qǐng)輸入選擇:
IF "%choose%" EQU "8" (
REM 修改JAVA_HOME環(huán)境變量為%JAVA_HOME_8%,
setx "JAVA_HOME" "%%JAVA_HOME_8%%" /m
echo 已經(jīng)修改 "JAVA_HOME" 為 %%JAVA_HOME_8%%
) ELSE IF "%choose%" EQU "9" (
setx "JAVA_HOME" "%%JAVA_HOME_9%%" /m
echo 已經(jīng)修改 "JAVA_HOME" 為 %%JAVA_HOME_9%%
REM setx "Path" "%cd%;%path%" /m
) ELSE IF "%choose%" EQU "11" (
setx "JAVA_HOME" "%%JAVA_HOME_11%%" /m
echo 已經(jīng)修改 "JAVA_HOME" 為 %%JAVA_HOME_11%%
)
pause
上面程序中的setx命令就是用來(lái)修改環(huán)境變量的.語(yǔ)法格式為:setx 環(huán)境變量名 環(huán)境變量值 /m。setx設(shè)置環(huán)境變量需要管理員權(quán)限,以管理員身份,運(yùn)行上面的CJavaBat.bat就可以修改JAVA_HOME環(huán)境變量的內(nèi)容,從而切換Java版本。
給CJavaBat.bat設(shè)置管理員權(quán)限
創(chuàng)建CJavaBat.bat的快捷方式,然后將這個(gè)快捷方式重命名為CJava,注意一定要修改名字。
然后在快捷方式上面右鍵。選擇屬性,在快捷方式選項(xiàng)卡上,點(diǎn)擊高級(jí),然后勾選上用管理員身份運(yùn)行。
這樣以后直接點(diǎn)擊CJava這個(gè)快捷方式就可以以管理身份運(yùn)行CJavaBat.bat這個(gè)批處理腳本了。


配置CJava到Path環(huán)境變量
將這個(gè)快捷方式目錄配置到Path環(huán)境變量中,這樣系統(tǒng)會(huì)在這個(gè)目錄下查找程序,
通過(guò)Win+R運(yùn)行CJava
然后就可以按下Win+R來(lái)啟動(dòng)運(yùn)行,結(jié)束輸入CJava,即可啟動(dòng)程序。
CJava程序說(shuō)明
在CJava中輸入選項(xiàng):8,則切換到Java8,輸入9,則切換到Java9,輸入11則切換到java11,依次類推,可以拓展上面的程序,以支持切換更多的java版本。
CJava運(yùn)行效果
------------------------------------------------
當(dāng)前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)
請(qǐng)按任意鍵繼續(xù). . .
------------------------------------------------
輸入要使用的java版本對(duì)應(yīng)的選項(xiàng):
選項(xiàng) 含義
8 切換環(huán)境為JDK8
9 切換環(huán)境為JDK9
11 切換環(huán)境為JDK11
------------------------------------------------
請(qǐng)輸入選擇:11
成功: 指定的值已得到保存。
已經(jīng)修改 "JAVA_HOME" 為 %JAVA_HOME_11%
請(qǐng)按任意鍵繼續(xù). . .
可以看到切換之前是Java8,切換后為Java11
查看是否切換成功
運(yùn)行上面創(chuàng)建TJava.bat,查看運(yùn)行效果:
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)
請(qǐng)按任意鍵繼續(xù). . .
可以看到現(xiàn)在已經(jīng)成功切換為Java11了
到此這篇關(guān)于多個(gè)Java版本如何切換的文章就介紹到這了,更多相關(guān)Java版本切換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
聊聊注解@controller@service@component@repository的區(qū)別
這篇文章主要介紹了聊聊注解@controller@service@component@repository的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
springboot使用redis實(shí)現(xiàn)從配置到實(shí)戰(zhàn)
本文主要介紹了springboot使用redis ,采用的是RedisTemplate的形式,還有一種采用spring支持的注解進(jìn)行訪問(wèn)緩存,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
Spring Cloud 的 Hystrix.功能及實(shí)踐詳解
這篇文章主要介紹了Spring Cloud 的 Hystrix.功能及實(shí)踐詳解,Hystrix 具備服務(wù)降級(jí)、服務(wù)熔斷、線程和信號(hào)隔離、請(qǐng)求緩存、請(qǐng)求合并以及服務(wù)監(jiān)控等強(qiáng)大功能,需要的朋友可以參考下2019-07-07
Spring利用@Validated注解實(shí)現(xiàn)參數(shù)校驗(yàn)詳解
這篇文章主要為大家詳細(xì)介紹了在?Spring?項(xiàng)目中使用?@Validated?進(jìn)行參數(shù)校驗(yàn)的方法和常見(jiàn)應(yīng)用場(chǎng)景,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-05-05
JavaWeb評(píng)論功能實(shí)現(xiàn)步驟以及代碼實(shí)例
項(xiàng)目初始版本上線,有時(shí)間寫點(diǎn)東西記錄一下項(xiàng)目中的心得體會(huì),通過(guò)這個(gè)項(xiàng)目學(xué)習(xí)了很多,要寫下來(lái)的有很多,先從評(píng)論功能開(kāi)始吧,下面這篇文章主要給大家介紹了關(guān)于JavaWeb評(píng)論功能實(shí)現(xiàn)步驟以及代碼的相關(guān)資料,需要的朋友可以參考下2023-01-01

