1. 前言
Java 版本管理為何重要
Java 是一種廣泛用於各種軟體開發的程式語言,例如 Web 應用程式、行動應用程式和企業系統。它的演變非常顯著,每個版本都增加了新功能並更改了規格。
例如,Java 8 引入了 Lambda 表達式和 Stream API,而 Java 11 及更高版本則淘汰了部分模組,這也影響了執行環境和函式庫的相容性。為了適當應對這些變更,持續掌握自己開發環境中「正在使用哪個 Java 版本」至關重要。
此外,在企業和開發現場,從安全性措施和長期支援(LTS)的角度來看,指定特定的 Java 版本進行操作的情況並不少見。因此,如果使用的版本過舊,可能會伴隨支援結束的風險。
本文目的與目標讀者
本文將全面解說 Java 版本的檢查方法、安裝、更新和問題排除。目標讀者為以下人士:
- 剛開始使用 Java 進行開發的初學者
- 想確認正在使用版本的進階學習者
- 在環境設定或更新時遇到問題的實務工作者
本文將詳細介紹 Windows、Mac、Linux 等主要作業系統的步驟,以及使用開發工具的檢查方法,因此內容設計上能適用於各種環境。
旨在幫助讀者掌握有關 Java 版本的正確知識,並建立安全舒適的開發環境。
2. Java 版本檢查方法
2.1 使用指令行檢查 Java 版本的方法
使用 java -version
指令
最基本且確實的方法是使用指令行來檢查 Java 版本。這個方法與作業系統無關,都能使用。
步驟(通用):
- 開啟終端機 (Mac/Linux) 或命令提示字元 (Windows)。
- 輸入以下指令並執行。
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
- Mac/Linux:
which java
透過檢查輸出的路徑,可以知道 Java 安裝在哪裡。
2.2 使用 GUI 檢查(Windows)
如果不熟悉指令操作,也可以從 Windows 的 GUI 檢查 Java 版本。
在 Java 控制面板中檢查
- 從「開始」選單輸入「Java」並開啟「設定 Java」。
- 點擊「Java」標籤頁,然後選擇「檢視」。
- 會顯示已安裝的 Java 版本列表。
這樣一來,即使存在多個版本,也能透過列表確認。
2.3 使用 GUI 檢查(Mac)
在 Mac 上也能從 GUI 檢查 Java 版本。
從「系統設定」檢查
- 從 Apple 選單開啟「系統設定」>「Java」。
- Java 控制面板會啟動。
- 選擇「Java」標籤頁,然後點擊「檢視」。
與 Windows 相同,可以確認版本的詳細資訊。
2.4 使用 Eclipse 檢查 Java 版本
如果您使用 Eclipse 作為開發環境,檢查每個專案的 Java 版本設定非常重要。
步驟:
- 啟動 Eclipse,並右鍵點擊目標專案。
- 前往「屬性」>「Java 編譯器」。
- 在「編譯器符合等級 (Compiler compliance level)」欄位中,會顯示正在使用的 Java 版本。
此外,Eclipse 本身使用的 JDK 版本可以透過以下步驟確認:
- 透過「視窗」>「偏好設定」>「Java」>「已安裝的 JRE」進行確認。
- 檢查正在使用的 JRE 詳細資訊,就可以知道 JDK 的路徑和版本。
3. Java 安裝方法
3.1 Windows 安裝步驟
從 Oracle 官方網站下載 JDK
- 在瀏覽器中前往 Oracle 官方下載頁面。
- 找到最新的「Java SE Development Kit(JDK)」項目,選擇 Windows 適用的安裝程式(
.exe
格式)。 - 同意授權後開始下載。
使用安裝程式進行安裝
下載完成後,執行安裝程式,並依照以下步驟進行:
- 安裝目錄基本上使用預設值即可。
- 安裝會在數分鐘內完成。
環境變數設定(重要)
若要從指令行使用 Java,需要設定環境變數。
- 開啟「控制面板」>「系統」>「進階系統設定」>「環境變數」。
- 從「系統變數」中選擇
Path
,並新增bin
資料夾的路徑(例如:C:\Program Files\Java\jdk-17\bin
)。 - 建立一個新的變數
JAVA_HOME
,並指定 JDK 的路徑。
設定完成後,在命令提示字元中執行 java -version
,確認是否正確安裝。
3.2 Mac 安裝步驟
JDK 下載與安裝
- 前往 Oracle 官方頁面,下載 Mac 適用的 JDK(
.pkg
格式)。 - 雙擊下載的檔案啟動安裝程式,並依照畫面指示進行安裝。
在終端機中確認與環境變數設定
安裝完成後,開啟終端機並執行以下指令:
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 檔案)
- 從 Oracle 官方網站下載 tar.gz 格式的 JDK。
- 解壓縮到
/usr/lib/jvm/
等目錄。 - 手動設定符號連結和環境變數。
如果想使用最新版本或特定的 JDK 發行版本,這個方法很方便。
4. Java 更新方法
4.1 Windows Java 更新
從 Java 控制面板手動更新
如果 Windows 安裝了 JRE,可以依照以下步驟進行更新。
- 從「開始」選單輸入「Java」並開啟「設定 Java」。
- 點擊「更新」標籤頁。
- 點擊「立即更新」後,會開始檢查最新版本並進行安裝。
這個方法僅限於 JRE,如果使用的是開發用的 JDK,基本做法是從 Oracle 官方網站手動重新安裝最新版本。
手動重新安裝 JDK 的方法
JDK 的更新是透過「下載最新版本並安裝」來進行的。
- 前往 Oracle 官方頁面。
- 下載最新的 JDK(舊版本可以刪除)。
- 安裝完成後,如有需要,重新設定
JAVA_HOME
和Path
。
4.2 Mac Java 更新
從 Java 控制面板更新(JRE 的情況)
- 從「系統設定」>「Java」開啟控制面板。
- 點擊「更新」標籤頁。
- 執行「立即更新」。
更新 JDK 的方法
在 Mac 的情況下,通常也是手動安裝最新版本的 JDK。
- 從 Oracle 官方頁面或 Adoptium 等 JDK 分發網站下載最新版本。
- 雙擊
.pkg
檔案進行安裝。 - 如果不再需要舊版本,可以將其解除安裝。
別忘了重新設定 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’ 不是內部或外部指令、可執行的程式或批次檔。」
原因
- 環境變數
Path
未設定 Java 的路徑。 - Java 未正確安裝。
解決方法
- 確認 JDK 是否正確安裝。
- 在環境變數
Path
中加入 Java 的 bin 目錄,例如:
C:Program FilesJavajdk-17in
- 加入後,重新啟動命令提示字元並再次執行
java -version
。
5.2 多個 Java 版本混用導致呼叫到非預期的版本
原因
- 安裝了多個 JDK/JRE,並因環境變數的優先順序而使用了不同的版本。
解決方法(Windows/Mac/Linux 通用)
- 使用指令行
where java
(Windows) 或which java
(Mac/Linux) 來確認目前正在使用的 Java 實體。 - 在
Path
(Windows) 或.zshrc
、.bash_profile
中明確指定要使用的 Java 路徑。 - 在 Linux 中利用
update-alternatives
來切換版本。
5.3 在 Eclipse 等 IDE 中出現建置錯誤(例如:「編譯器符合等級不符」)
原因
- 專案中設定的 Java 版本與 Eclipse 識別到的 JDK 版本不同。
解決方法
- 在 Eclipse 的「視窗」>「偏好設定」>「Java」>「已安裝的 JRE」中確認 JDK 的路徑。
- 右鍵點擊專案 >「屬性」>「Java 編譯器」,調整「編譯器符合等級」(例如:調整為 Java 17)。
5.4 Java 更新後殘留舊版本
原因
- Java 的設計不是覆蓋安裝新版本,而是保留舊版本。
- 多個版本混用可能導致設定錯誤或安全性風險。
解決方法
- 將不需要的版本從「應用程式與功能」(Windows) 或
/Library/Java/JavaVirtualMachines/
(Mac) 中刪除。 - 刪除後,再次確認
Path
和JAVA_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 開始採用新的版本號碼命名規則(時間 기반 發布模式),每半年發布一個新版本。LTS(長期支援)版本尤其受到企業重視(例如:Java 8、11、17、21 等)。
Q3. 安裝多個 Java 版本會有問題嗎?
A:
是的,可以共存多個版本。但是,為了避免使用非預期的版本,透過環境變數或 IDE 設定來明確指定使用的版本非常重要。在 Linux 中是透過 update-alternatives
,在 Windows 和 Mac 中則是透過管理 Path
和 JAVA_HOME
來達成。
Q4. 舊的 Java 版本最好解除安裝嗎?
A:
基本上,最好解除安裝不需要的版本。為了降低安全性風險,建議刪除不使用的舊 JRE 或 JDK,並整理環境變數使其與最新版本一致。
Q5. 如何切換 Java 版本?
A:
Windows 的情況:
- 在環境變數中手動設定
Path
和JAVA_HOME
。切換多個版本時,也可以使用批次檔或專用工具。
Mac/Linux 的情況:
- 在
.bash_profile
或.zshrc
中加入export JAVA_HOME=...
來切換。 - 此外,在 Mac 中也可以使用
/usr/libexec/java_home -v 版本號
來輕鬆切換。
Q6. Java 更新通知頻繁顯示,我可以忽略嗎?
A:
只要與開發或執行沒有直接關係,短期內忽略更新對運作上的問題不大,但從安全性角度來看,建議及早進行更新。特別是業務用途或 Web 應用程式中使用了 Java 的情況下,強烈建議更新到最新版本。
7. 總結
Java 版本是與開發環境穩定性、應用程式相容性以及安全性息息相關的重要因素。因版本不符而導致的問題或故障並非罕見。
本文系統性地解說了以下重點:
- Java 版本檢查方法(指令行、GUI、IDE)
- 各作業系統(Windows、Mac、Linux)的安裝步驟
- 安全進行更新的方法與注意事項
- 實際常見問題與解決方法
- 初學者容易遇到的疑問解答 (FAQ)
正確理解並實踐這些內容,就能對 Java 版本管理更有信心。
特別是對於剛開始學習 Java 或想建立新開發環境的人來說,能順利完成 JDK 的安裝、版本切換與更新,直接關係到技能的提升。
開發環境的整備對程式設計的成果和動力有很大影響。請務必參考本文,建立可靠且最新的 Java 環境。