本地JDK多版本快速切換方案
前言
本文章將詳細(xì)介紹如何在同一臺(tái)機(jī)器上安裝和配置多個(gè)版本的 JDK(JDK 8、JDK 17 和 JDK 21),并且使用綠色版(即無(wú)需安裝程序,直接解壓即可使用)。通過(guò)這種方式,您可以在不同的項(xiàng)目中靈活選擇所需的 JDK 版本。
1. 準(zhǔn)備工作
- 操作系統(tǒng):Windows
- 工具:解壓工具(如 7-Zip 或 WinRAR)
2. 下載 /解壓JDK
2.1 下載
訪問(wèn) Oracle 官方網(wǎng)站或其他可信源下載所需版本的 JDK:
- JDK 8:Oracle JDK 8 或 OpenJDK 8
- JDK 17:Oracle JDK 17 或 OpenJDK 17
- JDK 21:Oracle JDK 21 或 OpenJDK 21
下載對(duì)應(yīng)的 ZIP 文件 文件。

2.2 解壓 JDK
將下載的 JDK 壓縮包解壓到指定目錄,建議使用統(tǒng)一的目錄結(jié)構(gòu),例如:
D:\Java\jdk-8 D:\Java\jdk-17 D:\Java\jdk-21
3. 配置環(huán)境變量
提示:若僅打算在 IntelliJ IDEA 中運(yùn)行項(xiàng)目時(shí),實(shí)際上無(wú)需手動(dòng)配置系統(tǒng)的環(huán)境變量來(lái)指定 JDK 路徑。這是因?yàn)?IntelliJ IDEA 提供了內(nèi)置的功能,允許開(kāi)發(fā)者為整個(gè) IDE 或者每個(gè)單獨(dú)的項(xiàng)目指定不同的 JDK 版本。通過(guò)這種方式,IDEA 能夠自動(dòng)識(shí)別并使用所選的 JDK,而無(wú)需依賴于外部環(huán)境變量的設(shè)置
為了能夠在命令行中切換不同的 JDK 版本,需要配置環(huán)境變量。我們將使用 JAVA_HOME 和 PATH 變量來(lái)實(shí)現(xiàn)這一點(diǎn)。
3.1 創(chuàng)建環(huán)境變量
- 右擊此電腦 -> “屬性” -> “高級(jí)系統(tǒng)設(shè)置” -> “環(huán)境變量”。
- 在“系統(tǒng)變量”中,點(diǎn)擊“新建”:
- 變量名:
JAVA_HOME_8 - 變量值:
D:\Java\jdk-8
- 變量名:
- 繼續(xù)點(diǎn)擊“新建”:
- 變量名:
JAVA_HOME_17 - 變量值:
D:\Java\jdk-17
- 變量名:
- 再次點(diǎn)擊“新建”:
- 變量名:
JAVA_HOME_21 - 變量值:
D:\Java\jdk-21
- 變量名:

3.2 配置 PATH 變量
- 在“系統(tǒng)變量”中,找到
Path變量,點(diǎn)擊“編輯”。 - 刪除現(xiàn)有的 Java 路徑條目(如果有)。
- 添加一個(gè)新的條目,使用
%JAVA_HOME%\bin` 作為值。

3.3 創(chuàng)建批處理腳本切換 JDK 版本
為了方便切換不同的 JDK 版本,可以創(chuàng)建幾個(gè)批處理腳本來(lái)自動(dòng)設(shè)置 JAVA_HOME 和 Path 變量。
創(chuàng)建一個(gè)文件 set-jdk8.bat,內(nèi)容如下:
:: 永久設(shè)置 JAVA_HOME 環(huán)境變量(系統(tǒng)級(jí)別) setx JAVA_HOME "%JAVA_HOME_8%" /M :: 輸出確認(rèn)信息 echo JDK 8 has been set permanently.
創(chuàng)建一個(gè)文件 set-jdk17.bat,內(nèi)容如下:
setx JAVA_HOME "%JAVA_HOME_17%" /M echo JDK 17 has been set permanently.
創(chuàng)建一個(gè)文件 set-jdk21.bat,內(nèi)容如下:
setx JAVA_HOME "%JAVA_HOME21%" /M echo JDK 21 has been set permanently.
將這些批處理腳本保存到一個(gè)方便訪問(wèn)的目錄,例如桌面。

注意:在執(zhí)行批處理腳本時(shí),需要以管理員身份運(yùn)行腳本,因?yàn)楦牡氖窍到y(tǒng)層面的變量,所以必須管理員權(quán)限
4. 測(cè)試 JDK 安裝
打開(kāi)命令行工具(如 cmd),運(yùn)行以下命令以驗(yàn)證 JDK 是否正確安裝,以JDK11為例
切換到 JDK 11:
- 右擊批處理文件,以”管理員身份“執(zhí)行腳本
- win+R 輸入cmd,在命令行中輸入java -version
若出現(xiàn)版本信息,則腳本執(zhí)行成功,環(huán)境變量設(shè)置成功

5. 常見(jiàn)問(wèn)題及解決方案
問(wèn)題:無(wú)法找到
java命令- 解決方法:檢查是否已正確設(shè)置
JAVA_HOME和PATH環(huán)境變量??梢酝ㄟ^(guò)命令echo %JAVA_HOME%和echo %PATH%來(lái)驗(yàn)證。
- 解決方法:檢查是否已正確設(shè)置
問(wèn)題:切換 JDK 版本后仍然使用舊版本
- 解決方法:確保
Path變量中沒(méi)有其他 Java 路徑條目,并且重新打開(kāi)命令行工具。
- 解決方法:確保
以上就是本地JDK多版本快速切換方案的詳細(xì)內(nèi)容,更多關(guān)于本地JDK多版本切換的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Java實(shí)現(xiàn)Map遍歷key-value的四種方法
本文主要介紹了Java實(shí)現(xiàn)Map遍歷key-value的四種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
springboot?如何解決yml沒(méi)有spring的小葉子標(biāo)志問(wèn)題
這篇文章主要介紹了springboot?如何解決yml沒(méi)有spring的小葉子標(biāo)志問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
java去除空格、標(biāo)點(diǎn)符號(hào)的方法實(shí)例
這篇文章主要給大家介紹了關(guān)于java去除空格、標(biāo)點(diǎn)符號(hào)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
SpringBoot整合Dubbo+ZK注冊(cè)失敗的坑及解決
使用Dubbo框架時(shí),需在公共pom添加依賴,啟動(dòng)類加@EnableDubbo,實(shí)現(xiàn)類用@DubboService替代@Service,配置中base-packages存在識(shí)別bug,可通過(guò)zkCli命令或監(jiān)控中心驗(yàn)證服務(wù)注冊(cè)狀態(tài)2025-07-07
IntelliJ IDEA基于Scala實(shí)現(xiàn)Git檢查工具
這篇文章主要介紹了如何使用Scala實(shí)現(xiàn)自定義的Git檢查工具,大家可以基于本文的示例進(jìn)行擴(kuò)展與實(shí)現(xiàn),也可以進(jìn)行其他應(yīng)用方向的嘗試,感興趣的可以了解下2023-08-08
springboot實(shí)現(xiàn)以代碼的方式配置sharding-jdbc水平分表
這篇文章主要介紹了springboot實(shí)現(xiàn)以代碼的方式配置sharding-jdbc水平分表,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
SpringBoot?項(xiàng)目打成?jar后加載外部配置文件的操作方法
這篇文章主要介紹了SpringBoot?項(xiàng)目打成?jar后加載外部配置文件的操作方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03
你可能真沒(méi)用過(guò)這些 IDEA 插件(建議收藏)
IDEA 全稱 IntelliJ IDEA,是java編程語(yǔ)言開(kāi)發(fā)的集成環(huán)境。IntelliJ在業(yè)界被公認(rèn)為最好的java開(kāi)發(fā)工具。這篇文章主要介紹 IDEA 必用插件的安裝及用法,需要的朋友可以參考下2020-08-08

