怎麼查Java版本?詳細步驟與疑難解答,讓你的開發更順暢!

為什麼我們要關心 Java 版本?

哈囉,各位程式開發的夥伴們!今天我們要來聊一個非常基本,但卻又極度重要,而且常常被新手忽略的問題——「怎麼查 Java 版本」。你可能會想,這有什麼難的?不就是一個指令的事嘛。沒錯,理論上是這樣,但實際上,在不同的作業系統、不同的安裝方式下,即使是簡單的指令,也可能出現意想不到的小插曲。而且,了解目前你系統上安裝的 Java 版本,對於確保程式的相容性、解決開發除錯時的疑難雜症,以及順利導入新技術,可說是至關重要的第一步!

想像一下,你辛辛苦苦寫的程式,在自己的電腦上跑得好好的,結果一放到測試環境,或是客戶那邊,就出現了各種奇怪的錯誤,很多時候,原因就藏在 Java 版本不相容。有些較舊的函式庫可能不支援最新的 Java 版本,反之亦然。所以,養成隨時隨地知道自己 Java 版本的好習慣,絕對是專業開發者的基本功之一!我自己就遇過好幾次,因為版本差異而浪費了不少除錯時間,那種感覺真的讓人又氣又無奈。

更別說,如果你正在學習 Java,或是準備參加某個技術相關的面試,被問到「你目前使用的 Java 版本是什麼?」,而你卻一臉茫然,那可是很糗的!這篇文章,就是要帶你一次搞懂,怎麼在家裡、在公司、在任何地方,輕鬆又準確地查詢你的 Java 版本。我們不僅會提供最直接的指令,還會深入探討一些常見的狀況和進階的判斷方法,讓你面對各種 Java 版本問題,都能游刃有餘!

快速解答:如何檢查 Java 版本?

最快、最常用的檢查 Java 版本的方法,就是透過終端機(Terminal)或命令提示字元(Command Prompt)執行以下指令:

java -version

執行這個指令後,你應該會看到類似以下的輸出,其中會明確顯示出你目前系統預設的 Java 版本號碼。例如:

openjdk version "17.0.7" 2026-04-18
OpenJDK Runtime Environment Temurin-17.0.7+7 (build 17.0.7+7)
OpenJDK 64-Bit Server VM Temurin-17.0.7+7 (build 17.0.7+7, mixed mode, sharing)

從這個輸出中,你可以清楚地看到 Java 的版本是 17.0.7。如果你的系統沒有安裝 Java,或是 `java` 指令沒有被加入到系統的 PATH 環境變數中,那麼執行這個指令時,你可能會收到「’java’ 不是內部或外部命令,也不是可執行程式或批次檔。」(Windows)或「command not found: java」(macOS/Linux)之類的錯誤訊息。這時候,別擔心,我們後面會一步一步教你如何解決。

Windows 系統下查詢 Java 版本

對於 Windows 使用者來說,查詢 Java 版本主要有兩種方法:透過命令提示字元,以及檢查系統的環境變數。這兩種方式都能讓你快速了解你的 Java 環境。

方法一:使用命令提示字元 (Command Prompt)

這是最直觀也最常用的方式。步驟如下:

  1. 開啟命令提示字元:

    • 按下鍵盤上的 Windows 鍵 + R,打開「執行」視窗。
    • 在欄位中輸入 cmd,然後按下 Enter 鍵,或是點選「確定」。
  2. 執行版本查詢指令:

    在命令提示字元視窗中,輸入以下指令,然後按下 Enter 鍵:

    java -version
  3. 判讀輸出結果:

    如果 Java 安裝正確且路徑設定無誤,你就會看到類似以下的輸出:

    java version "1.8.0_381"
    Java(TM) SE Runtime Environment (build 1.8.0_381-b09)
    Java HotSpot(TM) 64-Bit Server VM (build 25.381-b09, mixed mode)

    在這個例子中,Java 版本是 8 (1.8.0_381)。

如果遇到「’java’ 不是內部或外部命令…」的錯誤訊息,代表什麼?

這通常表示:

  • 你的電腦上還沒有安裝 Java Development Kit (JDK) 或 Java Runtime Environment (JRE)。
  • Java 的安裝路徑沒有被正確地設定到系統的 PATH 環境變數裡。

遇到這種情況,你可能需要先到 Oracle 官網或是 Adoptium 等地方下載並安裝適合你系統的 JDK。安裝完成後,如果 PATH 環境變數沒有自動設定,你可能需要手動進行設定。關於如何設定 PATH 環境變數,我們會在後面的「常見問題與解答」部分做更詳細的說明。

方法二:檢查系統環境變數

有時候,即使 `java -version` 指令能夠執行,你還是想確認一下 Java 的安裝路徑。這對於有多個 Java 版本安裝在同一台電腦上的情況尤其有用。

  1. 開啟系統內容:

    • 在 Windows 搜尋欄輸入「系統」,然後選擇「系統」應用程式。
    • 在「系統」視窗中,點選左側選單的「進階系統設定」。
  2. 進入環境變數設定:

    在「系統內容」視窗的「進階」分頁,點選下方的「環境變數」按鈕。

  3. 尋找 Java 相關變數:

    你會看到「使用者變數」和「系統變數」兩個區塊。請在這兩個區塊中尋找名稱類似 JAVA_HOMEPath 的變數:

    • JAVA_HOME:這個變數通常會指向你的 JDK 安裝目錄,例如 C:\Program Files\Java\jdk-11.0.12。它對於很多 Java 開發工具(如 Maven, Gradle)的配置非常重要。
    • Path:在「系統變數」的 Path 變數中,你可以找到類似 %JAVA_HOME%\bin 的路徑。這就是讓你在命令提示字元中可以直接執行 `java` 指令的關鍵。

小提醒:如果你在「系統變數」和「使用者變數」中都看到了 JAVA_HOME,通常系統會優先使用「使用者變數」。而 Path 變數的順序也很重要,如果有多個 Java 的 bin 目錄路徑,系統會按照出現的順序來尋找可執行的指令。如果 JAVA_HOMEPath 都沒有設定,或是指向錯誤的路徑,就可能會導致 `java -version` 指令失效。

macOS 系統下查詢 Java 版本

在 macOS 上,查詢 Java 版本同樣方便,主要也是透過終端機(Terminal)來進行。

方法一:使用終端機 (Terminal)

步驟與 Windows 類似,但操作介面不同:

  1. 開啟終端機:

    • 你可以透過 Spotlight 搜尋 (Command + Space),輸入「Terminal」並按下 Enter。
    • 或者,在 Finder 中,前往「應用程式」>「工具程式」>「終端機」。
  2. 執行版本查詢指令:

    在終端機視窗中,輸入以下指令,然後按下 Enter 鍵:

    java -version
  3. 判讀輸出結果:

    你會看到類似以下的輸出:

    openjdk version "17.0.7" 2026-04-18
    OpenJDK Runtime Environment Temurin-17.0.7+7 (build 17.0.7+7)
    OpenJDK 64-Bit Server VM Temurin-17.0.7+7 (build 17.0.7+7, mixed mode, sharing)

    這裡顯示的版本是 OpenJDK 17.0.7。

如果收到「command not found: java」的錯誤訊息?

這表示:

  • 你的 Mac 上可能沒有安裝 Java。
  • Java 的安裝路徑沒有被加入到系統的 PATH 環境變數中。

macOS 預設可能不會安裝 Java,你需要自行下載安裝。近年來,建議安裝 OpenJDK 的發行版,例如 Adoptium (Temurin)。

方法二:檢查 Java 版本管理工具 (如 jEnv, SDKMAN!)

如果你是個 Java 開發的重度使用者,可能已經安裝了像 jEnvSDKMAN! 這樣的 Java 版本管理工具。這些工具可以讓你輕鬆地在多個 Java 版本之間切換,並且能非常方便地檢查目前活躍的版本。

  • 使用 SDKMAN!:

    如果安裝了 SDKMAN!,你可以輸入:

    sdk current java

    它會顯示目前正在使用的 Java 版本。

  • 使用 jEnv:

    如果安裝了 jEnv,你可以輸入:

    java -version

    jEnv 通常會自動接管 `java` 命令,讓你查詢到的版本就是 jEnv 管理的版本。

這些版本管理工具的優點是,它們能更精確地告訴你「哪個」Java 版本是你目前專案或系統正在使用的,而不僅僅是系統 PATH 中的第一個。

Linux 系統下查詢 Java 版本

Linux 系統的使用者,查詢 Java 版本的方法與 macOS 非常相似,同樣主要仰賴終端機。

方法一:使用終端機 (Terminal)

以下是操作步驟:

  1. 開啟終端機:

    在大多數 Linux 發行版中,你可以使用鍵盤快捷鍵 Ctrl + Alt + T 來開啟終端機。或者,你也可以在應用程式選單中找到「終端機」或「Konsole」等選項。

  2. 執行版本查詢指令:

    在終端機視窗中,輸入:

    java -version

    然後按下 Enter。

  3. 判讀輸出結果:

    輸出結果會顯示目前系統預設的 Java 版本,格式通常和 Windows 及 macOS 相似。

    openjdk version "11.0.12" 2021-07-20
    OpenJDK Runtime Environment (Ubuntu 11.0.12+7-0ubuntu2~20.04) (build 11.0.12+7-0ubuntu2~20.04)
    OpenJDK 64-Bit Server VM (Ubuntu 11.0.12+7-0ubuntu2~20.04, mixed mode, sharing)

    這裡顯示的是 OpenJDK 11.0.12。

方法二:檢查 `update-alternatives` 系統 (Debian/Ubuntu)

對於 Debian 或 Ubuntu 這樣的發行版,系統有一個 `update-alternatives` 的機制,用來管理多個程式版本。如果你安裝了多個 Java 版本,這個機制可以幫助你切換和查詢。

  • 列出所有可用的 Java 版本:

    sudo update-alternatives --config java

    執行這個指令後,它會列出系統中所有可用的 Java 可執行檔,以及目前哪個是預設選取的(通常會用 `*` 符號標示)。你也可以在這裡選擇要使用的 Java 版本。

  • 檢查 PATH 環境變數:

    如果你安裝的 Java 版本沒有被 `update-alternatives` 管理,或是你直接從原始碼編譯安裝,你還是需要檢查系統的 PATH 環境變數。這通常涉及到修改 ~/.bashrc~/.profile/etc/environment 等檔案,加入 Java 的 bin 目錄。

不同發行版的差異:

在 RHEL/CentOS/Fedora 系列的發行版中,可能會使用 alternatives 這個指令(不帶 `update-` 前綴)。不過,核心概念是相同的:管理系統中可用的替代版本。

檢查 JDK 和 JRE 版本

在我們深入探討如何查詢 Java 版本時,有一個很重要的概念需要釐清:JDK (Java Development Kit) 和 JRE (Java Runtime Environment) 的區別。簡單來說,JRE 是執行 Java 程式所需的環境,而 JDK 則包含了 JRE,再加上編譯、偵錯等開發工具。開發者通常需要安裝 JDK。

當我們執行 `java -version` 時,我們實際上是在查詢**目前系統 PATH 中,第一個找到的 `java` 可執行檔的版本**。這個可執行檔通常來自 JRE。如果你的系統同時安裝了 JDK 和 JRE,甚至多個版本的 JDK/JRE,`java -version` 顯示的可能只是其中一個,不一定是所有。為了確保你了解整個 Java 開發環境,建議也檢查 JDK 的版本。

檢查 JDK 版本

通常,JDK 的版本資訊會和 JRE 版本相似,因為 JDK 包含了 JRE。但更精確地說,你可以透過檢查 JAVA_HOME 環境變數,來判斷你主要使用的 JDK 版本。

  • Windows: 在命令提示字元輸入 echo %JAVA_HOME%,會顯示 JDK 的安裝目錄。你可以在該目錄下找到版本資訊,或是在子目錄 release 中找到 JAVA_VERSION 等資訊。
  • macOS/Linux: 在終端機輸入 echo $JAVA_HOME,會顯示 JDK 的安裝目錄。同樣地,在該目錄下可以找到版本資訊。

另外,有些 JDK 發行版會提供一個特定的指令來檢查版本,例如:

javac -version

這個指令是查詢 Java 編譯器(compiler)的版本。如果 `javac -version` 指令可以正常執行,並且輸出一個版本號,那麼這就代表你系統中的 JDK 是可用的,並且版本號就是它。

我的經驗談:有時候,系統 PATH 可能會指向 JRE 的 `bin` 目錄,而 JDK 的 `bin` 目錄並沒有被正確加入。這時候,`java -version` 可能顯示 JRE 版本,但 `javac -version` 可能會報錯。這就表示你的 JDK 可能沒有正確安裝或配置。

檢查 JRE 版本

如前所述,`java -version` 指令通常就是用來檢查 JRE 版本。如果你只想確認執行 Java 程式所需的 JRE 環境,只需要執行這個指令即可。

為何需要多個 Java 版本?

你可能會好奇,為什麼我的電腦上會有多個 Java 版本,或者為什麼我需要安裝多個版本?這在現代軟體開發中是很常見的。

  • 專案需求: 不同的專案可能基於不同的 Java 版本開發。例如,一個舊的企業級應用程式可能還在運行 Java 8,而一個新的微服務專案則可能使用 Java 11、Java 17,甚至是最新的 LTS (Long-Term Support) 版本。為了確保這些專案都能順利運行和編譯,你就需要同時安裝並管理多個版本的 Java。
  • 學習新技術: 當 Java 發布新版本時,開發者通常會想要嘗試新功能。例如,Java 8 引入了 Lambda 表達式,Java 11 引入了 `var` 關鍵字,Java 17 則有記錄 (Records) 等新特性。你需要安裝相對應的新版本 JDK 來學習和實踐這些新語法。
  • 相容性測試: 有時候,你需要測試你的應用程式在不同 Java 版本上的行為是否一致,以確保其穩定性和廣泛的適用性。

正是因為有這些需求,版本管理工具(如 SDKMAN!、jEnv、Chocolatey 上的 Java 套件,或 macOS 的 Homebrew)才變得如此流行。它們讓你在多個 Java 版本之間切換,就像換衣服一樣簡單。

常見問題與專業解答

在查詢和管理 Java 版本過程中,你會遇到一些常見的狀況。這裡我們就來一一解答:

Q1: 我執行 `java -version` 時,出現「’java’ 不是內部或外部命令…」的錯誤,該怎麼辦?

詳細解答:

這個錯誤訊息是 Windows 命令提示字元告訴你,它找不到一個叫做 `java` 的可執行檔。這通常有兩種可能的原因:

  1. Java 未安裝: 你的電腦上根本沒有安裝 Java Development Kit (JDK) 或 Java Runtime Environment (JRE)。

    • 解決方法: 前往 [Adoptium](https://adoptium.net/) (推薦,提供 OpenJDK 的穩定發行版) 或 Oracle 官方網站下載適合你作業系統的 JDK 安裝程式,然後進行安裝。通常 JDK 會包含 JRE。
  2. PATH 環境變數未設定: Java 已經安裝了,但是系統不知道去哪裡找到 `java.exe` 這個檔案。這就是 PATH 環境變數的作用,它告訴作業系統在哪些目錄下去尋找可執行的命令。

    • 解決方法:
      • 首先,你需要找到你的 JDK 安裝目錄。預設情況下,它可能在 `C:\Program Files\Java\` 或 `C:\Program Files\Adoptium\` 下,例如 `C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\`。
      • 在這個 JDK 目錄下,找到 `bin` 目錄。例如:`C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\bin`。
      • 接著,你需要將這個 `bin` 目錄的路徑加入到系統的 PATH 環境變數中。具體步驟如下(如前面所述):
        1. 搜尋「系統」,進入「進階系統設定」。
        2. 點選「環境變數」。
        3. 在「系統變數」區塊中,找到 `Path` 變數,點選「編輯」。
        4. 點選「新增」,然後貼上你的 JDK `bin` 目錄的路徑。
        5. 確保 %JAVA_HOME%\bin (如果 `JAVA_HOME` 已設定) 或直接的 JDK `bin` 路徑出現在列表的前面,這表示系統會優先尋找這個路徑下的可執行檔。
        6. 關閉所有命令提示字元視窗,然後重新開啟一個新的,再執行 `java -version` 測試。
      • 強烈建議: 同時設定 JAVA_HOME 系統變數,指向你的 JDK 安裝根目錄(例如 C:\Program Files\Eclipse Adoptium\jdk-17.0.7.7-hotspot\,而不是 `bin` 目錄)。這樣很多開發工具就能自動找到你的 JDK。

我的經驗是,大部分新手遇到的這個問題,都是因為 PATH 環境變數沒有設定正確。花點時間仔細檢查,就能解決。

Q2: 我安裝了多個 Java 版本,`java -version` 顯示的卻不是我想要的那個,怎麼辦?

詳細解答:

這是在開發過程中非常常見的情況,尤其是在需要兼容不同專案的環境下。`java -version` 指令只會顯示在系統 PATH 環境變數中**最優先找到**的 `java` 可執行檔的版本。

解決這個問題的方法取決於你使用的作業系統和安裝方式:

  1. 手動調整 PATH 環境變數 (Windows, macOS, Linux):

    你需要進入系統的環境變數設定,找到 `Path` 變數,然後手動調整各個 Java `bin` 目錄路徑的順序。將你期望使用的 Java 版本 `bin` 目錄的路徑,移動到列表的最前面。修改完畢後,務必關閉所有已開啟的命令提示字元/終端機視窗,再重新開啟一個新的來測試。

  2. 使用 Java 版本管理工具 (macOS, Linux):

    強烈推薦使用像 SDKMAN! ([sdkman.io](https://sdkman.io/)) 或 jEnv 這樣的工具。它們的設計初衷就是為了管理多個 Java 版本。

    • SDKMAN!:

      安裝 SDKMAN! 後,你可以用以下指令:

      sdk list java

      查看所有可用的 Java 版本。然後使用:

      sdk install java 

      來安裝你想要的特定版本。最後,使用:

      sdk use java 

      來將該版本設為當前活躍版本。甚至可以用:

      sdk default java 

      將其設為系統預設值。

    • jEnv:

      jEnv 也是一個優秀的選擇,它通過 symlink 的方式來管理 Java 版本,並且可以針對每個使用者或每個專案設定不同的 Java 版本。使用方法通常涉及 `jenv add /path/to/jdk` 和 `jenv global ` 或 `jenv local `。

    這些工具的優點是,它們能更智慧地處理 PATH 問題,並提供更方便的版本切換功能。

  3. 使用 `update-alternatives` (Debian/Ubuntu):

    如前所述,如果你使用的是 Debian/Ubuntu,可以通過 `sudo update-alternatives –config java` 來選擇預設的 Java 版本。確保你想要的版本被星號 (*) 標記。

總之,如果 `java -version` 顯示的版本不對,第一個步驟就是檢查 PATH 環境變數,第二個步驟就是考慮使用版本管理工具。這比手動修改 PATH 更不容易出錯,也更有效率。

Q3: 我在 IDE (如 IntelliJ IDEA, Eclipse) 中看到 Java 版本,但終端機顯示的版本不一樣,這是怎麼回事?

詳細解答:

這是一個非常常見的疑惑,也是許多新手容易混淆的地方。原因在於:

  • IDE 的獨立配置: 現代的整合開發環境 (IDE),如 IntelliJ IDEA、Eclipse、VS Code,都允許你為每個專案或整個 IDE 設定獨立的 Java SDK (JDK) 路徑。IDE 看到的 Java 版本,是你在 IDE 的專案設定中指定的 SDK 版本,而不是你系統 PATH 環境變數中的預設版本。
  • 系統預設版本 vs. 專案特定版本:

    • 當你直接在終端機執行 `java -version` 時,它查詢的是作業系統 PATH 環境變數所指向的預設 JRE。
    • 而當你在 IDE 中運行一個 Java 程式時,IDE 會使用你在該專案設定中指定的 JDK 來編譯和執行程式。

為什麼會這樣設計?

這樣做提供了極大的靈活性。開發者可以將一個專案設置為使用 Java 8,另一個專案設置為使用 Java 17,而他們的系統預設 Java 版本可能是 Java 11。這樣,他們可以在同一個系統上,同時處理不同版本的專案,而不會相互影響。這也是前面提到,為什麼需要多個 Java 版本的原因之一。

如何確認 IDE 中使用的 Java 版本?

你需要進入你的 IDE 的專案設定或 SDK 管理介面:

  • IntelliJ IDEA:

    • 在你的專案中,點選 `File` > `Project Structure`。
    • 在左側選單中,選擇 `Project`,然後檢查 `SDK` 的下拉選單。
    • 你也可以在 `File` > `Settings` (或 `IntelliJ IDEA` > `Preferences` on macOS) > `Build, Execution, Deployment` > `Compiler` > `Java Compiler` 處查看和設定。
  • Eclipse:

    • 在你的專案中,點選 `Window` > `Preferences`。
    • 在左側選單中,展開 `Java`,然後選擇 `Installed JREs`。
    • 這裡會列出 Eclipse 知道的所有 JRE/JDK。你可以在專案的 `Build Path` 設定中,為該專案指定一個特定的 JRE。
  • VS Code:

    VS Code 使用擴充功能來支援 Java。你需要檢查你安裝的 Java 擴充功能(例如 Extension Pack for Java)的設定,通常它會讓你在工作區(workspace)或使用者層級設定 `java.configuration.runtimes` 或 `java.home` 等選項。

總結: IDE 裡的版本和終端機裡的版本是獨立的, IDE 裡的版本由 IDE 的設定決定,終端機裡的版本由系統 PATH 環境變數決定。如果你想讓終端機執行的 `java` 版本和你 IDE 中的一致,你就需要將 IDE 中使用的 JDK 版本設定為系統的預設版本(透過修改 PATH 或版本管理工具)。

結語

好了,各位夥伴!相信透過這篇文章,你已經對「怎麼查 Java 版本」這個問題有了非常全面且深入的了解。從最基礎的命令列查詢,到 Windows、macOS、Linux 各自的操作細節,再到 JDK 與 JRE 的區別,以及為何需要管理多個 Java 版本,我們都一一做了詳細的闡述。尤其是針對常見問題的解答,希望能幫助你解決在實際開發中遇到的各種困擾。

請記住,確保你的 Java 環境設定正確,並且隨時知道你正在使用哪個版本,這是進行順暢 Java 開發的基石。下次再遇到 Java 版本相關的問題時,希望這篇文章能成為你隨身的寶典!祝大家程式開發愉快,除錯順利!

怎麼查Java版本