Java多個(gè)版本切換的幾種方法
問題描述
平常用的是java8,最近在學(xué)習(xí)java的新特性。這就需要從java8往更高的java版本切換。由于還在使用java8,測試完新特性后我需要再切換回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,太過繁瑣,所以通過一個(gè)批處理程序來實(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,開頭的C是change的意思.
@echo off
@echo ------------------------------------------------
@echo 當(dāng)前Java版本為:
call TJava.bat
@echo ------------------------------------------------
@echo 輸入要使用的java版本對應(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=請輸入選擇:
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命令就是用來修改環(huán)境變量的.語法格式為: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)擊高級,然后勾選上用管理員身份運(yùn)行。
這樣以后直接點(diǎn)擊CJava這個(gè)快捷方式就可以以管理身份運(yùn)行CJavaBat.bat這個(gè)批處理腳本了。


配置CJava到Path環(huán)境變量
將這個(gè)快捷方式目錄配置到Path環(huán)境變量中,這樣系統(tǒng)會(huì)在這個(gè)目錄下查找程序,
通過Win+R運(yùn)行CJava
然后就可以按下Win+R來啟動(dòng)運(yùn)行,結(jié)束輸入CJava,即可啟動(dòng)程序。
CJava程序說明
在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)
請按任意鍵繼續(xù). . .
------------------------------------------------
輸入要使用的java版本對應(yīng)的選項(xiàng):
選項(xiàng) 含義
8 切換環(huán)境為JDK8
9 切換環(huán)境為JDK9
11 切換環(huán)境為JDK11
------------------------------------------------
請輸入選擇:11
成功: 指定的值已得到保存。
已經(jīng)修改 "JAVA_HOME" 為 %JAVA_HOME_11%
請按任意鍵繼續(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)
請按任意鍵繼續(xù). . .
可以看到現(xiàn)在已經(jīng)成功切換為Java11了
到此這篇關(guān)于多個(gè)Java版本如何切換的文章就介紹到這了,更多相關(guān)Java版本切換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 多版本Java切換環(huán)境變量配置的三種方法(簡單高效)
- 切換多個(gè)Java版本的解決方案
- 多個(gè)版本Java切換環(huán)境變量配置的三種高效方法
- 多個(gè)JDK版本(Java 8、Java 17、Java 21)下載和切換
- 多個(gè)版本JAVA切換的簡單步驟記錄
- Java?JDK的多版本共存實(shí)現(xiàn)方法
- java不同版本在多線程中使用隨機(jī)數(shù)生成器的實(shí)現(xiàn)
- Java SE 9 多版本兼容 JAR 包示例
- Java9版本新特性同一個(gè)Jar支持多JDK版本運(yùn)行
- 關(guān)于java中多個(gè)JDK和切換版本介紹
- Ubuntu用SDKMAN輕松管理多個(gè)Java 版本
相關(guān)文章
Java編程guava RateLimiter實(shí)例解析
這篇文章主要介紹了Java編程guava RateLimiter實(shí)例解析,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
Java結(jié)構(gòu)型設(shè)計(jì)模式之組合模式詳解
組合模式,又叫部分整體模式,它創(chuàng)建了對象組的數(shù)據(jù)結(jié)構(gòu)組合模式使得用戶對單個(gè)對象和組合對象的訪問具有一致性。本文將通過示例為大家詳細(xì)介紹一下組合模式,需要的可以參考一下2022-09-09
java中MultipartFile和File最簡單的互相轉(zhuǎn)換示例
這篇文章主要給大家介紹了關(guān)于java中MultipartFile和File最簡單的互相轉(zhuǎn)換的相關(guān)資料,MultipartFile和File都是Java中用于處理文件上傳的類,MultipartFile用于處理上傳的文件,File用于處理本地磁盤上的文件,需要的朋友可以參考下2023-09-09
解決Java變異出現(xiàn)錯(cuò)誤No enclosing instance of type XXX is accessible
這牌你文章主要給大家分享解決Java變異出現(xiàn)錯(cuò)誤,具體的饑餓絕方案請看下面文章的內(nèi)容,需要的朋友可以參考一下,希望能幫助到你2021-09-09
Spark學(xué)習(xí)筆記 (二)Spark2.3 HA集群的分布式安裝圖文詳解
這篇文章主要介紹了Spark2.3 HA集群的分布式安裝,結(jié)合圖文與實(shí)例形式詳細(xì)分析了Spark2.3 HA集群分布式安裝具體下載、安裝、配置、啟動(dòng)及執(zhí)行spark程序等相關(guān)操作技巧,需要的朋友可以參考下2020-02-02
Idea啟動(dòng)SpringBoot程序報(bào)錯(cuò):Veb server failed to&nbs
這篇文章主要介紹了Idea啟動(dòng)SpringBoot程序報(bào)錯(cuò):Veb server failed to start. Port 8082 was already in use;端口沖突的原理與解決方案,文中通過代碼示例介紹的非常詳細(xì),需要的朋友可以參考下2024-10-10
MyBatis SELECT基本查詢實(shí)現(xiàn)方法詳解
這篇文章主要介紹了MyBatis SELECT基本查詢實(shí)現(xiàn)方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
mybatis連接數(shù)據(jù)庫實(shí)現(xiàn)雙表查詢
本文主要介紹了mybatis連接數(shù)據(jù)庫實(shí)現(xiàn)雙表查詢,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-09-09
Eclipse遠(yuǎn)程debug的步驟與注意事項(xiàng)
今天小編就為大家分享一篇關(guān)于Eclipse遠(yuǎn)程debug的步驟與注意事項(xiàng),小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03

