使用 WinGet 安裝 OpenJDK:Windows 下載、驗證與移除教學

Ted Liou 2025.07.26 Windows 最後更新 2026.03.17

快速摘要

在 Windows 安裝 OpenJDK,現在最省事的做法就是用 WinGet。本文示範怎麼搜尋版本、安裝、驗證,以及日後用同一套指令乾淨地移除。

在 Windows 裝 OpenJDK,現在最省事的做法就是用 WinGet。先用 winget search 找可用版本,再用 winget install 安裝,裝完以 java --version 驗證,之後若不需要了,也能用 winget uninstall 收乾淨。

這篇會直接用 Microsoft Build of OpenJDK 當範例。以 2026 年 3 月的 Microsoft 官方支援路線來看,11、17、21、25 都是 LTS,其中 25 是最新的 LTS。版本資訊與安裝方式請參考:Support roadmap for the Microsoft Build of OpenJDKDownload the Microsoft Build of OpenJDKUse WinGet to install and manage applications

先確認兩件事:Java 有沒有裝過、WinGet 能不能用

開始之前,先開啟「命令提示字元」或 PowerShell,檢查目前環境。

先看 Java:

1java --version

如果畫面出現類似下面的訊息,表示目前沒有可用的 Java 指令:

1'java' 不是內部或外部命令、可執行的程式或批次檔。

接著再確認 WinGet 是否可用:

1winget --version

如果這條指令也失敗,代表電腦上的 App Installer 可能還沒就緒,先把 WinGet 環境補齊再往下做。Microsoft 文件提到,WinGet 目前是 Windows 11、較新的 Windows 10 和 Windows Server 2025 內建支援的一部分。

如果你的電腦已經有 Java 版本資訊,也先別急著直接再裝一套。真正容易出問題的情況,通常是同一台機器混用多套 JDK,最後 PATH 指到哪一套變得不明不白。

winget search 找可安裝的 OpenJDK 版本

先用搜尋指令確認 WinGet 目前能抓到哪些 Microsoft OpenJDK 套件:

1winget search Microsoft.OpenJDK

WinGet 會列出可安裝的版本清單。這份結果會隨時間更新,所以這篇不把畫面硬寫死,只抓判斷原則:

  • 新專案通常先看最新的 LTS。
  • 舊專案、Minecraft 伺服器、特定框架工具鏈,常常會綁定 17 或 21。
  • 團隊已經統一版本時,直接跟團隊走,別自己亂升。

如果你只是要一個目前主流、支援期也長的版本,這篇以下用 OpenJDK 25 當示範。

安裝 OpenJDK

確定版本之後,直接安裝:

1winget install --id Microsoft.OpenJDK.25 -e --source winget

這裡加上 --id-e--source winget 的目的,是把目標套件指清楚,避免來源或名稱模糊時被 WinGet 追問。

安裝過程中,WinGet 會下載對應的安裝程式並完成安裝。若系統跳出權限確認視窗,正常允許即可。

如果你的專案需要 21 或 17,把上面的 25 改成對應版本就好,例如:

1winget install --id Microsoft.OpenJDK.21 -e --source winget

安裝完成後,用 java --version 驗證

安裝結束後,先把目前開著的命令列視窗關掉,再重新開一個新的視窗,然後執行:

1java --version

如果安裝成功,會看到類似下面的版本資訊:

1openjdk 25.0.2 2026-01-20 LTS
2OpenJDK Runtime Environment Microsoft-12560031 (build 25.0.2+8-LTS)
3OpenJDK 64-Bit Server VM Microsoft-12560031 (build 25.0.2+8-LTS, mixed mode, sharing)

實際版號會跟著 Microsoft 每季更新,所以只要你有看到正確的 major version,而且指令能正常回應,就代表環境已經通了。

如果這一步沒有成功,先做兩個檢查:

  • 關掉舊的命令列視窗後重開一次。
  • 確認電腦上是否還有其他 Java 版本搶先出現在 PATH

日後要移除,也用 WinGet 處理

WinGet 的好處不只在安裝,還在於它讓移除也維持同一套路徑。先列出目前機器上的 OpenJDK:

1winget list OpenJDK

看到清單後,再用對應的套件 ID 解除安裝。以 OpenJDK 25 為例:

1winget uninstall --id Microsoft.OpenJDK.25 -e --source winget

Microsoft 的 WinGet 文件也特別提到,解除安裝時加上 --source winget,可以避免額外撞到 Microsoft Store 的來源提示。這個小地方很值得直接養成習慣。

什麼情況下,別急著裝最新版本

最新版不一定等於最適合。OpenJDK 這類基礎環境,我比較建議先看相容性,再看新舊。

幾種常見情況如下:

  • 伺服器或框架官方文件已指定版本。
  • 現有專案的建置腳本、Docker 映像或 CI 已固定版本。
  • 第三方工具只驗證到特定 LTS。

只有在沒有明確限制時,我們才直接選最新的 LTS。否則裝得太新,後面反而要花時間回頭排查。

如果你接下來是要架 Java 相關服務,也可以延伸看本站的 Minecraft 伺服器教學,那類場景就很常遇到 Java 版本必須對上的問題。

總結

在 Windows 安裝 OpenJDK,用 WinGet 會比手動下載、手動設環境乾淨很多。流程很固定:winget search 找版本,winget install 安裝,java --version 驗證,之後需要移除時再用 winget uninstall 收掉。

真正該花心思的,其實是版本選擇。先確認專案要哪一版,再來裝,後面會少很多麻煩。

常見問題

如果電腦已有 WinGet,直接用 winget search 找版本,再用 winget install 安裝,通常是最乾淨也最好管理的做法。

以 2026 年 3 月 Microsoft Build of OpenJDK 的支援路線來看,11、17、21、25 都是 LTS。新專案通常先看 25,既有專案則要以框架、伺服器或團隊既有版本為準。

先把原本開著的命令提示字元或 PowerShell 關掉,再重新開一個新視窗試一次。若仍無法使用,再確認安裝是否成功,以及 PATH 中是否有其他 Java 版本搶在前面。

作者

Ted Liou

現職 Unity C# 工程師,主要分享 Unity、C# 與 Vibe Coding 相關技術教學。

上一篇 Spigot 伺服器架設:BuildTools 編譯、插件支援與玩家連線教學 下一篇 Minecraft 伺服器狀態擷取:於 Unity 中獲取 Java / Bedrock 版即時狀態 (MCStatusForUnity)