jdk同時(shí)安裝多個(gè)版本并自由切換的技巧總結(jié)
一、安裝不同版本的JDK
二、配置環(huán)境變量(多版本JDK)
1. 新建版本專用環(huán)境變量(用于切換)
- 操作位置:系統(tǒng)變量 > 新建
- 變量名:
JAVA_HOME_1.8變量值:JDK 8安裝路徑 - 變量名:
JAVA11_HOME_11變量值:JDK 11安裝路徑 (其他版本如 JDK 17 同理,命名規(guī)則:JAVA_HOME_<版本>) 注:路徑中禁止包含中文或空格 。
- 變量名:

2. 設(shè)置主切換變量 JAVA_HOME

- 變量名:
JAVA_HOME變量值:%JAVA_HOME_17%(默認(rèn)指向JDK 17,通過(guò)修改此值切換版本)
此變量是動(dòng)態(tài)樞紐,修改其值即可切換JDK版本。
3. 配置 CLASSPATH(可選但建議)
- 變量名:
CLASSPATH變量值:
.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

- 注意:開(kāi)頭的
.表示當(dāng)前目錄,不可省略
4. 修改 Path 變量
- 編輯
Path變量,新增兩條(確保在頂部避免沖突):%JAVA_HOME%\bin %JAVA_HOME%\jre\bin

- 關(guān)鍵點(diǎn):
- 使用
%JAVA_HOME%引用路徑,而非直接寫死路徑 - Win10需分兩行添加,避免自動(dòng)添加引號(hào)導(dǎo)致失效
- 使用
三、多版本切換與驗(yàn)證
1. 初始驗(yàn)證
打開(kāi)新CMD窗口(環(huán)境變量修改后必須重啟CMD) java -version # 應(yīng)顯示默認(rèn)版本(如JDK 8)
2. 切換版本(如切到JDK 11)
- 修改主變量
JAVA_HOME的值:- 原值:
%JAVA_HOME_8%→ 改為:%JAVA_HOME_11%
- 原值:
- 重新打開(kāi)CMD,執(zhí)行:
java -version # 應(yīng)顯示默認(rèn)版本(如JDK 11)
3. 驗(yàn)證其他命令(確保全面生效)
javac -version # 檢查編譯器版本 java # 查看JVM基礎(chǔ)命令是否正常
若僅 java 生效但 javac 失敗,需檢查 Path 是否包含 %JAVA_HOME%\bin 且無(wú)多余引號(hào)
? 常見(jiàn)問(wèn)題解決
切換后版本未更新:
- 確認(rèn)
JAVA_HOME值已修改,并重啟CMD
- 刪除系統(tǒng)沖突路徑(如
C:\Windows\System32\java.exe)
javac 命令無(wú)效:
- 檢查
Path中%JAVA_HOME%\bin是否被其他JDK路徑覆蓋。 - 確保變量值無(wú)多余分號(hào)或引號(hào)(Win10易自動(dòng)添加)
環(huán)境變量?jī)?yōu)先級(jí)沖突:
- 系統(tǒng)變量 > 用戶變量,確保版本變量在系統(tǒng)變量中配置
通過(guò)此方案,只需修改
JAVA_HOME的指向即可實(shí)現(xiàn)多版本無(wú)縫切換,適用于開(kāi)發(fā)/測(cè)試多版本兼容性場(chǎng)景。若需更高效切換,可參考批處理腳本自動(dòng)化方案
總結(jié)
到此這篇關(guān)于jdk同時(shí)安裝多個(gè)版本并自由切換的文章就介紹到這了,更多相關(guān)jdk安裝多版本并切換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 安裝多個(gè)版本JDK后使用時(shí)的切換方法總結(jié)
- Linux安裝多個(gè)jdk版本進(jìn)行切換
- 手把手教學(xué)Win10同時(shí)安裝兩個(gè)版本的JDK并隨時(shí)切換(JDK8和JDK11)
- jdk環(huán)境變量配置切換jdk版本及安裝jdk后環(huán)境變量不生效問(wèn)題解決辦法
- win10 64位系統(tǒng)中安裝多個(gè)jdk版本的切換問(wèn)題及解決方法小結(jié)
- 電腦上安裝多個(gè)JDK版本時(shí)該如何自由切換(詳細(xì)圖文)
- 查找jdk安裝路徑并且切換多版本jdk的詳細(xì)步驟
- Windows同時(shí)安裝兩個(gè)版本JDK并實(shí)現(xiàn)動(dòng)態(tài)切換JAVA8或JAVA11的方法
- Windows上安裝不同版本JDK并切換使用的詳細(xì)步驟
相關(guān)文章
JAVA-NIO之Socket/ServerSocket Channel(詳解)
下面小編就為大家?guī)?lái)一篇JAVA-NIO之Socket/ServerSocket Channel(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06
Javaweb項(xiàng)目session超時(shí)解決方案
這篇文章主要介紹了Javaweb項(xiàng)目session超時(shí)解決方案,關(guān)于解決方案分類比較明確,內(nèi)容詳細(xì),需要的朋友可以參考下。2017-09-09
lambda表達(dá)式與傳統(tǒng)接口函數(shù)實(shí)現(xiàn)方式對(duì)比詳解
這篇文章主要為大家介紹了lambda表達(dá)式與傳統(tǒng)接口函數(shù)實(shí)現(xiàn)方式對(duì)比詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家度偶多進(jìn)步早日升職加薪2022-03-03
Java中的ReentrantReadWriteLock使用詳解
這篇文章主要介紹了Java中的ReentrantReadWriteLock使用詳解,ReentrantReadWriteLock是Java中的一個(gè)鎖實(shí)現(xiàn),它提供了讀寫分離的功能,這種讀寫分離的機(jī)制可以提高并發(fā)性能,特別適用于讀多寫少的場(chǎng)景,需要的朋友可以參考下2023-11-11
Java開(kāi)發(fā)到底為什么要用 IoC 和 AOP
這篇文章主要介紹了Java開(kāi)發(fā)到底為什么要用 IoC 和 AOP,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下2021-02-02
你肯定能看懂的Java IO相關(guān)知識(shí)總結(jié)
群里有大佬說(shuō)想讓我寫一篇NIO,一直也沒(méi)寫,但是和同事聊天也說(shuō)對(duì)Java的IO不是很清晰,因此今天就寫下Java的io,先打個(gè)基礎(chǔ),下次寫NIO,需要的朋友可以參考下2021-05-05
深入聊一聊springboot項(xiàng)目全局異常處理那些事兒
最近在做項(xiàng)目時(shí)需要對(duì)異常進(jìn)行全局統(tǒng)一處理,所以下面這篇文章主要給大家介紹了關(guān)于springboot項(xiàng)目全局異常處理那些事兒,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-01-01
java代碼規(guī)范之不合理命名與重復(fù)代碼示例詳解
這篇文章主要為大家介紹了java代碼規(guī)范之不合理命名與重復(fù)代碼示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09

