欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JDK多版本管理工具安裝和使用詳細教程

 更新時間:2025年09月10日 11:32:17   作者:放棄?????治療  
隨著軟件開發(fā)環(huán)境的日益復雜,多版本Java開發(fā)工具包(JDK)管理變得尤為重要,下面這篇文章主要介紹了JDK多版本管理工具安裝和使用的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

概要

Jabba 是一個開源的多版本 Java 管理工具,類似于 SDKMAN!,它支持多個 JDK 版本的管理,

本文主要講解在Windows系統(tǒng)安裝Jabba ,并且適用于 Windows、macOS 和 Linux 系統(tǒng)

以下是你可以選擇的一些方法:

  1. 通過 Windows Terminal 配置不同環(huán)境變量

    • 在 Windows Terminal 中,你可以為每個配置(例如 PowerShell 或 Command Prompt)設置不同的環(huán)境變量 JAVA_HOME 和 Path,確保每次啟動時自動切換到指定的 JDK 版本。
  2. 使用開源工具(如 Jabba 和 SDKMAN!)

    • Jabba 是一個簡單的多版本管理工具,支持在 Windows 上安裝并切換不同的 JDK 版本。你可以通過命令行安裝 JDK,并隨時切換所需版本。
    • SDKMAN! 也可以通過 Windows 子系統(tǒng) Linux(WSL)使用,支持跨平臺切換 JDK 版本。它適用于需要多版本管理的開發(fā)者。
  3. 手動配置多個 JDK 版本

    • 如果不想使用額外的工具,你可以手動安裝多個 JDK 版本,并通過腳本或環(huán)境變量的修改,在不同的終端會話中切換。

以下為參考信息

方法一:手動管理 JDK 版本切換

  1. 安裝多個 JDK 版本

    • 你可以在不同的目錄下安裝多個 JDK 版本,例如:
      • C:\Program Files\Java\jdk1.8.0_281
      • C:\Program Files\Java\jdk-21
  2. 設置 JAVA_HOME 環(huán)境變量

    • 每次你想切換 JDK 版本時,可以手動更改 JAVA_HOME 環(huán)境變量,指向不同的 JDK 安裝目錄。
    • 具體操作步驟:
      1. 打開 系統(tǒng)屬性 → 高級系統(tǒng)設置 → 環(huán)境變量。
      2. 在 系統(tǒng)變量 中找到 JAVA_HOME,然后編輯它的值,指向你想使用的 JDK 路徑。
      3. 編輯完 JAVA_HOME 后,更新 Path 變量,確保 Path 變量中包含 %JAVA_HOME%\bin。
  3. 驗證 JDK 切換

    • 每次切換完 JAVA_HOME 后,打開命令行終端,使用 java -version 和 javac -version 命令來檢查當前 JDK 版本。

方法二:使用批處理腳本(方便切換)

你可以編寫一個簡單的 批處理腳本(.bat 文件)來自動切換 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

每種方法都有其適用場景,Jabba 和 SDKMAN! 都能提供簡便的版本管理,而手動配置則更靈活適合不依賴第三方工具的開發(fā)者。如果你需要更高級的隔離環(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 這樣的多版本管理工具,但依然可以使用一些開源工具來管理多個 JDK 版本。下面是幾種適合 Windows 的開源 JDK 多版本管理工具:

1.Jabba

Jabba 是一個開源的多版本 Java 管理工具,類似于 SDKMAN!,它支持多個 JDK 版本的管理,并且適用于 Windows、macOS 和 Linux 系統(tǒng)。

安裝和使用 Jabba:

GitHub的Jabba的地址:https://github.com/shyiko/jabba/tree/0.11.2

  1. 安裝 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 查詢當前安裝成功的版本

分兩種方式

一:關聯(lián)將系統(tǒng) JDK 與 Jabba 關聯(lián)

一定要使用終端,以管理員的身份運行

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

如果關聯(lián)不了一定要確認jdk的路徑不能帶有空格的路徑文件名下,解決方法請下滑頁面到技術細節(jié)

2. 通過查詢jdk 命令:jabba ls

3. 切換系統(tǒng)的版本的命令:jabba use system@1.8.0

如圖所示,我當前的版本是21

jabba use system@1.8.0

如果切換版本報錯,請下滑頁面到技術細節(jié)

如下圖所示切換就成功了

4. 刪除錯誤的 JDK 版本鏈接的名稱

二:通過jabba進行安裝jdk

  1. 安裝 JDK 版本

    • 例如,安裝 JDK 8 和 JDK 11:
      jabba install adoptopenjdk@8 jabba install adoptopenjdk@11
  2. 切換 JDK 版本

    • 使用以下命令來切換 JDK 版本:
      jabba use adoptopenjdk@8 jabba use adoptopenjdk@11
  3. 查看已安裝的 JDK 版本

    • 列出所有安裝的 JDK 版本:
      jabba ls

技術細節(jié)

帶有空格的文件名路徑的jdk,需要卸載重新安裝jdk就可以解決了

如圖所示就是解決了

切換jdk版本錯誤解決,如圖所示報錯問題

需要將配置的系統(tǒng)變量刪除

  1. 刪除以下變量

    • 用戶變量和系統(tǒng)變量中的 JAVA_HOME

    • 用戶變量和系統(tǒng)變量中的 CLASSPATH

    • path 里的相關聯(lián)的變量

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

需要卸載重新安裝jabba。

步驟 2:修復 Jabba 安裝位置

powershell

# 1. 卸載當前有問題的 Jabba
Remove-Item -Recurse -Force ~\.jabba

# 2. 設置英文安裝路徑(避開中文用戶名問題)
$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. 永久設置 JABBA_HOME
[System.Environment]::SetEnvironmentVariable('JABBA_HOME', 'C:\.jabba', 'User')

環(huán)境變量需要添加上并且一定要關閉 終端,再重新打開終端

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

  • 簡單易用,命令行管理。
  • 支持 JDK 版本的安裝和切換。
  • 跨平臺支持,適用于 Windows、Linux 和 macOS。

注意這里的環(huán)境變量一定要刪除

如果當前系統(tǒng)還存在tomcat需要啟動的情況,可以配置如下所示

全局環(huán)境變量配置

  1. 獲取 Java 路徑:

    powershell

    jabba which system@1.8.0
    # 輸出示例:C:\.jabba\jdk\system@1.8.0
  2. 設置系統(tǒng)環(huán)境變量:

    • 按 Win + R → 輸入 sysdm.cpl

    • 高級 → 環(huán)境變量 → 新建系統(tǒng)變量:

      變量名:JAVA_HOME
      變量值:C:\.jabba\jdk\system@1.8.0
    • 編輯 PATH → 添加:%JAVA_HOME%\bin

  3. 驗證:

    powershell

    # 新開終端執(zhí)行
    java -version
  4. 啟動 Tomcat:

    powershell

    cd D:\soft-xiao\nutrisystem_file\apache-tomcat-9.0.55\bin
    .\startup.bat

小結

到此這篇關于JDK多版本管理工具安裝和使用的文章就介紹到這了,更多相關JDK多版本管理工具安裝使用內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • idea如何自動生成serialVersionUID

    idea如何自動生成serialVersionUID

    這篇文章主要介紹了idea如何自動生成serialVersionUID,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • Spring整合Struts2的兩種方法小結

    Spring整合Struts2的兩種方法小結

    下面小編就為大家?guī)硪黄猄pring整合Struts2的兩種方法小結。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • Java與Kotlin互調原理講解

    Java與Kotlin互調原理講解

    這篇文章主要介紹了Java與Kotlin互調原理,分享內容有Kt調用-Java參數(shù)非null的處理、Java中使用kt關鍵字聲明的變量和方法、Kt調用Java-SAM轉換等內容,需要的小伙伴可以參考一下
    2022-02-02
  • SpringBoot集成Redis數(shù)據(jù)庫,實現(xiàn)緩存管理

    SpringBoot集成Redis數(shù)據(jù)庫,實現(xiàn)緩存管理

    SpringBoot2 版本,支持的組件越來越豐富,對Redis的支持不僅僅是擴展了API,更是替換掉底層Jedis的依賴,換成Lettuce。 本案例需要本地安裝一臺Redis數(shù)據(jù)庫。下面就來看下集成Redis的步驟
    2021-06-06
  • SpringBoot+thymeleaf+ajax實現(xiàn)局部刷新詳情

    SpringBoot+thymeleaf+ajax實現(xiàn)局部刷新詳情

    這篇文章主要介紹了SpringBoot+thymeleaf+ajax實現(xiàn)局部刷新詳情,文章圍繞主題展開詳細的內容介紹具有一定的參考價值,需要的小伙伴可以參考一下
    2022-09-09
  • SpringCloud集成Nacos的使用小結

    SpringCloud集成Nacos的使用小結

    這篇文章主要介紹了SpringCloud集成Nacos的使用小結,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • java基于Apache FTP點斷續(xù)傳的文件上傳和下載

    java基于Apache FTP點斷續(xù)傳的文件上傳和下載

    本篇文章主要介紹了java基于Apache FTP點斷續(xù)傳的文件上傳和下載,利用FTP實現(xiàn)文件的上傳和下載,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2016-11-11
  • JVM執(zhí)行引擎的項目實踐

    JVM執(zhí)行引擎的項目實踐

    執(zhí)行引擎是Java虛擬機核心的組成部分之一,本文主要介紹了JVM執(zhí)行引擎的項目實踐,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-04-04
  • Springboot中@scheduled注解解析

    Springboot中@scheduled注解解析

    這篇文章主要介紹了Springboot中@scheduled注解解析,定時任務就是在指定時間執(zhí)行程序,或周期性執(zhí)行計劃任務,Java中實現(xiàn)定時任務的方法有很多,本文從從JDK自帶的一些方法來實現(xiàn)定時任務的需求,需要的朋友可以參考下
    2023-09-09
  • 深入理解java1.8之supplier

    深入理解java1.8之supplier

    這篇文章主要介紹了深入理解java1.8之supplier,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-12-12

最新評論