首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 程式設計入門

JDK 安裝與環境變數配置圖文教程:Windows/Linux/macOS 全平台通用

     編輯:Java 程式設計入門

一、JDK 獲取與版本選擇

官方下載來源

  • Oracle JDK:oracle.com/java/technologies/downloads (商業用途需訂閱)
  • Eclipse Temurin (OpenJDK 建構):adoptium.net 推薦 — 免費、開源、長期支援 (LTS)、多平台、無商業授權疑慮
  • 其他建構:Amazon Corretto、Azul Zulu、IBM Semeru、Red Hat OpenJDK、Microsoft Build of OpenJDK

版本策略

版本類型支援狀態適用場景
JDK 21LTS (長期支援)Oracle 至 2031/09,社群至 2028+新專案首選,虛擬執行緒、Record 模式匹配、Sequenced Collections、String Templates (Preview)
JDK 17LTSOracle 至 2029/09,社群至 2026+企業級穩定主流,Spring Boot 3 基線、Jakarta EE 10 基線
JDK 11LTSOracle 至 2026/09,社群至 2024+舊系統維護、Android 開發基線
JDK 8歷史 LTSOracle 付費延長支援,社群分支維護極舊系統、特定廠商鎖定環境

💡 原則:新專案無條件上 JDK 21 LTS;遷移專案評估相容性後升級至 17/21;拒絕 JDK 8 新專案 (語法落後、效能較差、安全風險、生態棄用)。


二、Windows 安裝與配置 (圖文步驟)

1. 執行安裝程式

  • 下載 OpenJDK21U-jdk_x64_windows_hotspot_21.0.x_x.msi (或 .exe)
  • 雙擊執行 → 下一步 → 安裝路徑建議:C:\Java\jdk-21 (無空格、無中文、短路徑) → 下一步 → 完成
  • 安裝程式會自動註冊 java.exe、javac.exe 至系統路徑 (可選),但建議手動管理環境變數,方便多版本切換。

2. 設定系統環境變數 (關鍵步驟)

路徑:Win+S 搜尋「編輯系統環境變數」 → 環境變數 → 系統變數 區塊

變數名變數值說明
JAVA_HOMEC:\Java\jdk-21JDK 安裝根目錄 (含 bin/lib/include),所有 Java 工具依賴此變數
PATH%JAVA_HOME%\bin (置於最前端)讓 java/javac/maven/gradle 等指令全域可用

⚠️ 常見錯誤:

  • PATH 值漏掉 %JAVA_HOME%\bin 前的分號 ; (若非首項)
  • JAVA_HOME 指向 C:\Java\jdk-21\bin (錯誤,應指向根目錄)
  • 安裝路徑含空格 C:\Program Files\Java\jdk-21 → 建議移至 C:\Java
  • 修改後必須重新開啟終端機 (CMD/PowerShell/Git Bash) 才生效

3. 驗證安裝

C:\> java --version
openjdk 21.0.x 2024-xx-xx
OpenJDK Runtime Environment Temurin-21.0.x+xx (build 21.0.x+xx)
OpenJDK 64-Bit Server VM Temurin-21.0.x+xx (build 21.0.x+xx, mixed mode, sharing)

C:\> javac --version
javac 21.0.x

C:\> echo %JAVA_HOME%
C:\Java\jdk-21

4. HelloWorld 驗證完整流程

C:\> mkdir HelloWorld && cd HelloWorld
C:\HelloWorld> notepad HelloWorld.java

貼上以下內容並存檔:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, Java " + System.getProperty("java.version") + "!");
    }
}
C:\HelloWorld> javac HelloWorld.java
C:\HelloWorld> dir HelloWorld.class
C:\HelloWorld> java HelloWorld
Hello, Java 21.0.x!

三、Linux/macOS 安裝與配置

Linux (以 Ubuntu/Debian 為例)

# 方案 1:套件管理器安裝 Temurin (推薦)
wget -qO - https://packages.adoptium.net/artifactory/api/gpg/key/public | sudo gpg --dearmor -o /usr/share/keyrings/adoptium.gpg
echo "deb [signed-by=/usr/share/keyrings/adoptium.gpg] https://packages.adoptium.net/artifactory/deb jammy main" | sudo tee /etc/apt/sources.list.d/adoptium.list
sudo apt update && sudo apt install temurin-21-jdk

# 方案 2:手動解壓 tar.gz (通用、可多版本共存)
cd /opt
sudo wget https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.x%2Bxx/OpenJDK21U-jdk_x64_linux_hotspot_21.0.x_x.tar.gz
sudo tar -xzf OpenJDK21U-jdk_x64_linux_hotspot_21.0.x_x.tar.gz
sudo ln -s jdk-21.0.x_x java-21  # 方便切換版本

# 環境變數配置 (~/.bashrc 或 /etc/profile.d/java.sh)
export JAVA_HOME=/opt/java-21
export PATH=$JAVA_HOME/bin:$PATH
source ~/.bashrc

macOS (Apple Silicon / Intel 通用)

# 方案 1:Homebrew 安裝 Temurin (推薦)
brew tap adoptopenjdk/openjdk
brew install --cask temurin21

# 方案 2:SDKMAN! 多版本管理神器 (最強推薦)
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk list java  # 列出所有可用版本
sdk install java 21.0.x-tem  # 安裝 Temurin 21
sdk use java 21.0.x-tem    # 切換當前 Shell 版本
sdk default java 21.0.x-tem # 設定預設版本

# 驗證
java --version
javac --version
echo $JAVA_HOME

四、多版本共存與切換策略

Windows:手動切換 JAVA_HOME

# 安裝多版本至 C:\Java\jdk-17、C:\Java\jdk-21
# 切換腳本 switch-java.bat
@echo off
set JAVA_HOME=C:\Java\jdk-%1
set PATH=%JAVA_HOME%\bin;%PATH%
echo Switched to JDK %1
java --version

使用:switch-java 21 / switch-java 17 (需在新終端機執行)

Linux/macOS:SDKMAN! 一鍵切換

sdk install java 17.0.x-tem
sdk install java 21.0.x-tem
sdk use java 17.0.x-tem   # 當前 Shell 生效
sdk default java 21.0.x-tem # 全域預設

專案級鎖定版本 (推薦)

  • Maven:.mvn/jvm.config 或 pom.xml <maven.compiler.release>21</maven.compiler.release>
  • Gradle:java { toolchain { languageVersion = JavaLanguageVersion.of(21) } }
  • SDKMAN!:專案根目錄建立 .sdkmanrc:java=21.0.x-tem,進入目錄自動切換。

五、常見問題排查

現象可能原因解決方案
'java' 不是內部或外部命令PATH 未包含 %JAVA_HOME%\bin檢查 PATH 變數、重開終端機、以管理員身分執行設定
Error: JAVA_HOME is not defined (Maven/Gradle)系統變數缺少 JAVA_HOME新增 JAVA_HOME 指向 JDK 根目錄 (非 bin)
Unsupported class file major version 65類別檔版本高於執行期 JDK (JDK 21=65, 17=61, 11=55)升級執行期 JDK 或編譯時指定 --release 17
IDE 提示「找不到 JDK」IDE 配置指向 JRE 而非 JDKIDEA: Ctrl+Alt+Shift+S → SDKs → + → 指向 JDK 根目錄
中文亂碼編碼不一致源碼 UTF-8、編譯 -encoding UTF-8、執行 -Dfile.encoding=UTF-8 (JDK 18+ 預設 UTF-8)

六、驗證腳本:一鍵檢查環境就緒

建立 check-java-env.bat (Win) / check-java-env.sh (Linux/mac):

@echo off
echo ========== Java 環境檢查 ==========
echo JAVA_HOME = %JAVA_HOME%
echo.
java --version
echo.
javac --version
echo.
echo 測試編譯執行...
echo public class EnvCheck { public static void main(String[] a) { System.out.println("OK: " + System.getProperty("java.version")); } } > EnvCheck.java
javac EnvCheck.java && java EnvCheck
del EnvCheck.java EnvCheck.class
echo ========== 檢查完成 ==========
pause

✅ 環境就緒標準:java --version/javac --version 正常輸出、JAVA_HOME 指向正確、PATH 含 %JAVA_HOME%\bin、手動編譯執行 HelloWorld 成功、Maven/Gradle 能偵測到 JDK。達成這些,你就擁有了專業 Java 開發的乾淨基石。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved