Java 版本管理完整指南:檢查、安裝、更新與除錯

目次

1. 介紹

為何 Java 版本管理很重要

Java 是一種廣泛應用於軟體開發各領域的程式語言,涵蓋 Web 應用、行動 App 以及企業系統等。其演進速度相當迅速,每個版本都會帶來新功能與規格變更。 例如,Java 8 引入 lambda 表達式與 Stream API;而自 Java 11 起,部分模組被棄用,會影響執行環境與函式庫的相容性。為了正確因應這些變化,必須隨時了解「目前開發環境使用的 Java 版本」是什麼。 此外,在企業與開發團隊中,往往會基於安全性與長期支援(LTS)政策指定特定的 Java 版本。因此,若使用的版本過舊,可能會因支援結束而產生風險。

本文目的與適用對象

本篇文章提供完整的說明,教您如何檢查 Java 版本、安裝 Java、更新 Java,以及排除相關問題。本文適合以下讀者:
  • 想要開始使用 Java 開發的初學者
  • 想要確認目前使用版本的中階使用者
  • 正在遭遇環境設定或更新問題的實務工作者
由於會針對每個主要作業系統(Windows、macOS、Linux)分別說明詳細步驟,並說明如何使用開發者工具驗證,內容的結構設能在任何環境下直接套用。 目標是協助您取得正確的 Java 版本知識,並建立安全、舒適的開發環境。

2. 如何檢查 Java 版本

2.1 透過指令列檢查 Java 版本

使用 java -version 指令

最基本且最可靠的方式是透過指令列檢查 Java 版本,這種方法與作業系統無關。 一般步驟:
  1. 開啟 Terminal(macOS / Linux)或 Command Prompt(Windows)。
  2. 輸入並執行以下指令:
    java -version
    
範例輸出:
java version "17.0.2" 2022-01-18 LTS
Java(TM) SE Runtime Environment (build 17.0.2+8-LTS-86)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.2+8-LTS-86, mixed mode, sharing)
從此結果可見「Java Runtime Environment(JRE)」的版本為 17。

使用 javac -version 檢查 JDK 版本

同時檢查 Java 編譯器 javac 的版本也很重要,以確認 JDK 已正確安裝。
javac -version
範例輸出:
javac 17.0.2
檢查 Java 可執行檔的位置 若系統中安裝了多個版本,必須確認實際使用的是哪一個可執行檔。
  • Windows:
    where java
    
  • macOS / Linux:
    which java
    
透過檢查輸出路徑,即可判斷 Java 安裝於何處。

2.2 透過 GUI 檢查(Windows)

如果您對指令列操作不熟悉,也可以在 Windows 的圖形介面中檢查 Java 版本。

使用 Java 控制台

  1. 開啟「開始」選單,輸入「Java」並點選「Configure Java」開啟 Java 控制台。
  2. 點選「Java」分頁,然後按下「View」按鈕。
  3. 會顯示已安裝的 Java 版本清單。
即使系統中同時存在多個版本,也能在清單中一目了然地查看。

2.3 透過 GUI 檢查(macOS)

在 macOS 上也可以透過圖形介面檢查 Java 版本。

從系統設定檢查

  1. 從 Apple 功能表開啟「System Settings」>「Java」。
  2. 會啟動 Java 控制台。
  3. 點選「Java」分頁,然後按下「View」按鈕。
與 Windows 相同,您可以在此處看到詳細的版本資訊。

2.4 使用 Eclipse 檢查 Java 版本

若您使用 Eclipse 作為開發環境,需確認每個專案所設定的 Java 版本是否正確。 步驟:
  1. 啟動 Eclipse,於目標專案上點右鍵。
  2. 前往「Properties」>「Java Compiler」。
  3. 「Compiler compliance level」欄位即顯示該專案使用的 Java 版本。
您也可以透過以下步驟檢查 Eclipse 本身使用的 JDK 版本:
  1. 前往「視窗」>「偏好設定」>「Java」>「已安裝的 JRE」。
  2. 檢查使用的 JRE 詳細資訊,以確認 JDK 路徑和版本。

3. 如何安裝 Java

3.1 Windows 上的安裝程序

從 Oracle 官方網站下載 JDK

  1. 開啟瀏覽器並存取 Oracle 官方下載頁面
  2. 找到最新的「Java SE 開發套件 (JDK)」並選擇 Windows 的安裝程式( .exe 格式)。
  3. 同意授權以開始下載。

使用安裝程式安裝

下載完成後,執行安裝程式並按照以下步驟進行:
  • 預設安裝目錄通常沒問題。
  • 安裝過程會在幾分鐘內完成。

設定環境變數(重要)

要從命令列使用 Java,您需要設定環境變數。
  1. 開啟「控制台」>「系統」>「進階系統設定」>「環境變數。」
  2. 從「系統變數」中選取 Path 並新增 bin 資料夾的路徑(例如 C:\Program Files\Java\jdk-17\bin )。
  3. 建立名為 JAVA_HOME 的新變數並指定 JDK 路徑。
完成設定後,在命令提示字元中執行 java -version 以確認安裝正確。

3.2 macOS 上的安裝程序

下載並安裝 JDK

  1. 存取 Oracle 官方頁面並下載 macOS 的 JDK( .pkg 格式)。
  2. 雙擊下載的檔案以啟動安裝程式,並遵循螢幕上的指示。

在終端機中檢查安裝並設定環境變數

安裝後,開啟終端機並執行以下命令:
java -version
如果顯示的版本是最新版本,則安裝成功。 如果需要,在您的 .zshrc.bash_profile 中寫入以下內容以設定 JAVA_HOME
export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/bin:$PATH
之後執行 source ~/.zshrc 以套用變更。

3.3 Linux 上的安裝程序

透過套件管理器安裝(基於 Ubuntu/Debian)

sudo apt update
sudo apt install openjdk-17-jdk
然後檢查版本:
java -version
javac -version

透過套件管理器安裝(基於 CentOS/RHEL)

sudo yum install java-17-openjdk-devel

安裝多個版本時切換版本

在 Ubuntu 上,您可以使用以下命令切換已安裝的 Java 版本:
sudo update-alternatives --config java

手動安裝(使用 tar.gz 檔案)

  1. 從 Oracle 官方網站下載 .tar.gz 格式的 JDK。
  2. 在如 /usr/lib/jvm/ 等目錄下解壓縮。
  3. 手動設定符號連結和環境變數。
此方法在您想使用最新版本或特定 JDK 發行版時很有用。

4. 如何更新 Java

4.1 在 Windows 上更新 Java

透過 Java 控制台手動更新

如果 Windows 上安裝了 JRE,您可以透過以下步驟更新它:
  1. 開啟開始功能表,輸入「Java」,並開啟「設定 Java。」
  2. 按一下「更新」索引標籤。
  3. 按一下「立即更新」以開始檢查並安裝最新版本。
此方法僅適用於 JRE。 如果您使用的是開發 JDK,基本方法是從 Oracle 官方網站手動重新安裝最新版本。

如何手動重新安裝 JDK

更新 JDK 的方式是「下載並安裝最新版本。」
  1. 存取 Oracle 官方頁面。
  2. 下載最新 JDK(您可以刪除舊版)。
  3. 安裝後,如果必要,重新設定 JAVA_HOMEPath

4.2 在 macOS 上更新 Java

透過 Java 控制台更新(適用於 JRE)

  1. 開啟「系統設定」>「Java」以開啟控制台。
  2. 按一下「更新」索引標籤。
  3. 執行「立即更新。」

如何更新 JDK

在 macOS 上,手動安裝最新的 JDK 也是常見的做法。
  1. 從 Oracle 官方網站或 Adoptium 等 JDK 發行站點下載最新版本。
  2. 雙擊 .pkg 檔案進行安裝。
  3. 若不再需要舊版,可將其解除安裝。

別忘了重新設定 JAVA_HOME

切換到新版本時,JAVA_HOME 路徑可能會改變。 請使用以下方式重設:
export JAVA_HOME=$(/usr/libexec/java_home)

4.3 在 Linux 上更新 Java

透過套件管理員更新

在 Linux 環境中,可使用作業系統的套件管理員更新 Java。 基於 Ubuntu / Debian:
sudo apt update
sudo apt upgrade openjdk-17-jdk
基於 CentOS / RHEL:
sudo yum update java-17-openjdk-devel

在多個已安裝版本之間切換

若新舊 JDK 版本同時存在,需手動切換使用中的版本:
sudo update-alternatives --config java
sudo update-alternatives --config javac
會出現互動式清單,只要選取想使用的版本即可。

手動更新(使用 tar.gz)

若想在不依賴套件的情況下安裝特定版本,可下載 tar.gz 版 JDK,解壓後手動設定路徑與環境變數。 只要移除舊的 JDK,並套用新的設定即可。

5. 常見問題與故障排除

5.1 檢查版本時出現 “java is not recognized as an internal or external command”

原因

  • Path 環境變數中未設定 Java 路徑。
  • Java 安裝不完整。

解決方式

  1. 確認 JDK 已正確安裝。
  2. 將 Java 的 bin 目錄加入 Path 環境變數(範例):
    C:\Program Files\Java\jdk-17\bin
    
  1. 重新啟動命令提示字元,再執行 “。

5.2 多個 Java 版本同時存在,卻意外使用了不想要的版本

原因

  • 系統中安裝了多個 JDK/JRE,且環境變數的優先順序導致使用了不同的版本。

解決方式(Windows / macOS / Linux)

  • 在命令列使用 where java(Windows)或 which java(macOS / Linux)找出目前使用的 Java 可執行檔位置。
  • Path(Windows)或 .zshrc / .bash_profile(macOS / Linux)中明確寫入欲使用的 Java 路徑。
  • 在 Linux 上,可使用 update-alternatives 來切換版本。

5.3 IDE(如 Eclipse)出現建置錯誤(例:「Compiler compliance level does not match」)

原因

  • 專案設定的 Java 版本與 Eclipse 辨識的 JDK 版本不一致。

解決方式

  1. 在 Eclipse 中開啟「Window」→「Preferences」→「Java」→「Installed JREs」確認 JDK 路徑。
  2. 右鍵點擊專案 →「Properties」→「Java Compiler」,調整「Compiler compliance level」(例如對應 Java 17)。

5.4 更新 Java 後仍保留舊版本

原因

  • Java 不會自動覆寫舊版,而是保留多個版本。
  • 多版本同存可能導致設定錯誤或安全風險。

解決方式

  • 從「Apps & Features」(Windows)或 /Library/Java/JavaVirtualMachines/(macOS)刪除不需要的版本。
  • 刪除後,確認 PathJAVA_HOME 已正確更新。

5.5 Java Web 應用出現 “Unsupported major.minor version”

原因

  • 編譯程式時使用的 Java 版本與執行時的 Java 版本不一致(例:以 Java 17 編譯,卻在 Java 8 上執行)。

解決方式

  • 檢查執行環境的 Java 版本,並在編譯時明確設定目標版本(範例:javac -target 1.8)。
  • 或是升級執行環境的 Java 版本。

6. FAQ(常見問題)

以下彙整了初學者與中階使用者在 Java 版本上常問的問題,並提供實用且易懂的解答,重點聚焦於高搜尋需求的主題。

Q1. JRE 與 JDK 有何差異?

A: JRE (Java Runtime Environment) 是一個用來「執行」以 Java 建置的應用程式的環境。 JDK (Java Development Kit) 是一個完整的工具集,用於「開發、編譯和執行」Java 程式。 開發人員通常需要安裝 JDK。

Q2. Java 版本號碼代表什麼意思?

A: Java 版本通常表示為「Java 17.0.2」。
  • 第一個數字「17」是主要版本 (Java 17)
  • 「0」是次要版本
  • 「2」是更新號碼
從 Java 9 開始,Java 採用基於時間的發行時程 — 每六個月發行新版本。 LTS (長期支援) 版本在企業環境中特別重要 (例如,Java 8、11、17、21)。

Q3. 安裝多個 Java 版本可以嗎?

A: 是的,多個版本可以共存。 但是,您必須明確指定要使用的版本,以避免意外調用不正確的版本。 在 Linux 上使用 update-alternatives,而在 Windows/macOS 上,重點是管理 PathJAVA_HOME

Q4. 我應該解除安裝舊的 Java 版本嗎?

A: 一般來說,是的 — 建議移除不必要的版本。 為了降低安全性風險,請刪除舊的未使用 JRE/JDK 版本,並將環境變數調整為最新設定。

Q5. 如何在 Java 版本之間切換?

A: Windows:
  • 手動設定 PathJAVA_HOME
  • 也可以使用批次檔案或專用工具在多個版本之間切換。
macOS / Linux:
  • 編輯 .bash_profile.zshrc 並設定 export JAVA_HOME=...
  • 在 macOS 上,您也可以使用 /usr/libexec/java_home -v <version> 輕鬆切換版本。

Q6. 我經常收到 Java 更新通知。忽略它們安全嗎?

A: 如果與積極開發或執行無關,暫時忽略它們通常不會造成太大操作問題。 但是 — 從安全性角度來看 — 強烈建議盡早更新。 特別是在企業系統或網頁應用程式中,保持最新版本至關重要。

7. 摘要

Java 版本管理是影響開發環境穩定性、應用程式相容性,甚至安全性的極其重要因素。由版本不匹配引起的問題並不少見。 在本文中,我們系統性地說明了:
  • 如何檢查 Java 版本 (命令列、GUI、IDE)
  • 各作業系統的安裝程序 (Windows / macOS / Linux)
  • 如何安全進行更新及注意事項
  • 常見的實際問題及解決方案
  • 初學者常遇到的常見問題
透過正確理解並應用這些要點,您將在 Java 版本管理上獲得信心。 特別是對於即將學習 Java 或想要設定全新開發環境的人,能夠順利處理 JDK 安裝、版本切換和更新 直接帶來技能提升。 環境準備大大影響程式設計的生產力和動機。 請以此文為參考,建置可靠且最新的 Java 環境。