JDK多版本管理工具安裝和使用詳細(xì)教程
概要
Jabba 是一個(gè)開源的多版本 Java 管理工具,類似于 SDKMAN!,它支持多個(gè) JDK 版本的管理,
本文主要講解在Windows系統(tǒng)安裝Jabba ,并且適用于 Windows、macOS 和 Linux 系統(tǒng)
以下是你可以選擇的一些方法:
通過 Windows Terminal 配置不同環(huán)境變量:
- 在 Windows Terminal 中,你可以為每個(gè)配置(例如 PowerShell 或 Command Prompt)設(shè)置不同的環(huán)境變量
JAVA_HOME和Path,確保每次啟動(dòng)時(shí)自動(dòng)切換到指定的 JDK 版本。
- 在 Windows Terminal 中,你可以為每個(gè)配置(例如 PowerShell 或 Command Prompt)設(shè)置不同的環(huán)境變量
使用開源工具(如 Jabba 和 SDKMAN!):
- Jabba 是一個(gè)簡單的多版本管理工具,支持在 Windows 上安裝并切換不同的 JDK 版本。你可以通過命令行安裝 JDK,并隨時(shí)切換所需版本。
- SDKMAN! 也可以通過 Windows 子系統(tǒng) Linux(WSL)使用,支持跨平臺(tái)切換 JDK 版本。它適用于需要多版本管理的開發(fā)者。
手動(dòng)配置多個(gè) JDK 版本:
- 如果不想使用額外的工具,你可以手動(dòng)安裝多個(gè) JDK 版本,并通過腳本或環(huán)境變量的修改,在不同的終端會(huì)話中切換。
以下為參考信息
方法一:手動(dòng)管理 JDK 版本切換
安裝多個(gè) JDK 版本
- 你可以在不同的目錄下安裝多個(gè) JDK 版本,例如:
C:\Program Files\Java\jdk1.8.0_281C:\Program Files\Java\jdk-21
- 你可以在不同的目錄下安裝多個(gè) JDK 版本,例如:
設(shè)置 JAVA_HOME 環(huán)境變量
- 每次你想切換 JDK 版本時(shí),可以手動(dòng)更改
JAVA_HOME環(huán)境變量,指向不同的 JDK 安裝目錄。 - 具體操作步驟:
- 打開 系統(tǒng)屬性 → 高級(jí)系統(tǒng)設(shè)置 → 環(huán)境變量。
- 在 系統(tǒng)變量 中找到
JAVA_HOME,然后編輯它的值,指向你想使用的 JDK 路徑。 - 編輯完
JAVA_HOME后,更新Path變量,確保Path變量中包含%JAVA_HOME%\bin。
- 每次你想切換 JDK 版本時(shí),可以手動(dòng)更改
驗(yàn)證 JDK 切換
- 每次切換完
JAVA_HOME后,打開命令行終端,使用java -version和javac -version命令來檢查當(dāng)前 JDK 版本。
- 每次切換完
方法二:使用批處理腳本(方便切換)
你可以編寫一個(gè)簡單的 批處理腳本(.bat 文件)來自動(dòng)切換 JDK 版本。例如:
@echo off SET JDK_VERSION=21 IF "%JDK_VERSION%"=="8" SET JAVA_HOME=C:\Program Files\Java\jdk1.8.0_281 IF "%JDK_VERSION%"=="21" SET JAVA_HOME=C:\Program Files\Java\jdk-21 SET PATH=%JAVA_HOME%\bin;%PATH% echo Switched to JDK version %JDK_VERSION% java -version
每種方法都有其適用場(chǎng)景,Jabba 和 SDKMAN! 都能提供簡便的版本管理,而手動(dòng)配置則更靈活適合不依賴第三方工具的開發(fā)者。如果你需要更高級(jí)的隔離環(huán)境,還可以考慮使用 Docker 容器化 JDK。
工具安裝和使用流程
7/15/2025, 5:50:33 PM
windows的開源jdk多版本管理工具
7/15/2025, 5:50:44 PM
在 Windows 上,雖然不像 Linux 和 macOS 那樣有像 SDKMAN! 和 Jenv 這樣的多版本管理工具,但依然可以使用一些開源工具來管理多個(gè) JDK 版本。下面是幾種適合 Windows 的開源 JDK 多版本管理工具:
1.Jabba
Jabba 是一個(gè)開源的多版本 Java 管理工具,類似于 SDKMAN!,它支持多個(gè) JDK 版本的管理,并且適用于 Windows、macOS 和 Linux 系統(tǒng)。
安裝和使用 Jabba:
GitHub的Jabba的地址:https://github.com/shyiko/jabba/tree/0.11.2
安裝 Jabba:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Invoke-Expression ( Invoke-WebRequest https://github.com/shyiko/jabba/raw/master/install.ps1 -UseBasicParsing ).Content

如下圖所示安裝成功 執(zhí)行命令 jabba --version 查詢當(dāng)前安裝成功的版本

分兩種方式
一:關(guān)聯(lián)將系統(tǒng) JDK 與 Jabba 關(guān)聯(lián)
一定要使用終端,以管理員的身份運(yùn)行

1. 在 PowerShell 中使用 jabba link 命令: 通過 jabba link 命令將系統(tǒng)的 JDK 與 Jabba 進(jìn)行關(guān)聯(lián)命令:jabba link system@1.8.0 "C:\Program Files\Java\jdk1.8.0_251"

如果關(guān)聯(lián)不了一定要確認(rèn)jdk的路徑不能帶有空格的路徑文件名下,解決方法請(qǐng)下滑頁面到技術(shù)細(xì)節(jié)
2. 通過查詢jdk 命令:jabba ls

3. 切換系統(tǒng)的版本的命令:jabba use system@1.8.0
如圖所示,我當(dāng)前的版本是21

jabba use system@1.8.0
如果切換版本報(bào)錯(cuò),請(qǐng)下滑頁面到技術(shù)細(xì)節(jié)
如下圖所示切換就成功了

4. 刪除錯(cuò)誤的 JDK 版本鏈接的名稱


二:通過jabba進(jìn)行安裝jdk
安裝 JDK 版本:
- 例如,安裝 JDK 8 和 JDK 11:
jabba install adoptopenjdk@8 jabba install adoptopenjdk@11
- 例如,安裝 JDK 8 和 JDK 11:
切換 JDK 版本:
- 使用以下命令來切換 JDK 版本:
jabba use adoptopenjdk@8 jabba use adoptopenjdk@11
- 使用以下命令來切換 JDK 版本:
查看已安裝的 JDK 版本:
- 列出所有安裝的 JDK 版本:
jabba ls
- 列出所有安裝的 JDK 版本:
技術(shù)細(xì)節(jié)
帶有空格的文件名路徑的jdk,需要卸載重新安裝jdk就可以解決了

如圖所示就是解決了

切換jdk版本錯(cuò)誤解決,如圖所示報(bào)錯(cuò)問題

需要將配置的系統(tǒng)變量刪除
刪除以下變量:
用戶變量和系統(tǒng)變量中的
JAVA_HOME用戶變量和系統(tǒng)變量中的
CLASSPATHpath 里的相關(guān)聯(lián)的變量



雖然刪除完了系統(tǒng)變量,但是安裝的jabba在文件中文路徑下導(dǎo)致系統(tǒng)識(shí)別jdk路徑亂碼,如圖所示

需要卸載重新安裝jabba。
步驟 2:修復(fù) Jabba 安裝位置
powershell
# 1. 卸載當(dāng)前有問題的 Jabba
Remove-Item -Recurse -Force ~\.jabba
# 2. 設(shè)置英文安裝路徑(避開中文用戶名問題)
$env:JABBA_HOME = "C:\.jabba"
# 3. 重新安裝 Jabba
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Invoke-Expression (
Invoke-WebRequest https://github.com/shyiko/jabba/raw/master/install.ps1 -UseBasicParsing
).Content
# 4. 永久設(shè)置 JABBA_HOME
[System.Environment]::SetEnvironmentVariable('JABBA_HOME', 'C:\.jabba', 'User')環(huán)境變量需要添加上并且一定要關(guān)閉 終端,再重新打開終端

處理完成之后,重新回到上滑頁面到使用教程,重新按照步驟添加以下就能夠成功了,如下圖所示

- 簡單易用,命令行管理。
- 支持 JDK 版本的安裝和切換。
- 跨平臺(tái)支持,適用于 Windows、Linux 和 macOS。
注意這里的環(huán)境變量一定要?jiǎng)h除

如果當(dāng)前系統(tǒng)還存在tomcat需要啟動(dòng)的情況,可以配置如下所示
全局環(huán)境變量配置
獲取 Java 路徑:
powershell
jabba which system@1.8.0 # 輸出示例:C:\.jabba\jdk\system@1.8.0
設(shè)置系統(tǒng)環(huán)境變量:
按
Win + R→ 輸入sysdm.cpl高級(jí) → 環(huán)境變量 → 新建系統(tǒng)變量:
變量名:JAVA_HOME 變量值:C:\.jabba\jdk\system@1.8.0
編輯 PATH → 添加:
%JAVA_HOME%\bin
驗(yàn)證:
powershell
# 新開終端執(zhí)行 java -version
啟動(dòng) Tomcat:
powershell
cd D:\soft-xiao\nutrisystem_file\apache-tomcat-9.0.55\bin .\startup.bat
小結(jié)
到此這篇關(guān)于JDK多版本管理工具安裝和使用的文章就介紹到這了,更多相關(guān)JDK多版本管理工具安裝使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
idea如何自動(dòng)生成serialVersionUID
這篇文章主要介紹了idea如何自動(dòng)生成serialVersionUID,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
SpringBoot集成Redis數(shù)據(jù)庫,實(shí)現(xiàn)緩存管理
SpringBoot2 版本,支持的組件越來越豐富,對(duì)Redis的支持不僅僅是擴(kuò)展了API,更是替換掉底層Jedis的依賴,換成Lettuce。 本案例需要本地安裝一臺(tái)Redis數(shù)據(jù)庫。下面就來看下集成Redis的步驟2021-06-06
SpringBoot+thymeleaf+ajax實(shí)現(xiàn)局部刷新詳情
這篇文章主要介紹了SpringBoot+thymeleaf+ajax實(shí)現(xiàn)局部刷新詳情,文章圍繞主題展開詳細(xì)的內(nèi)容介紹具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09
java基于Apache FTP點(diǎn)斷續(xù)傳的文件上傳和下載
本篇文章主要介紹了java基于Apache FTP點(diǎn)斷續(xù)傳的文件上傳和下載,利用FTP實(shí)現(xiàn)文件的上傳和下載,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2016-11-11

