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

Windows 環境 JDK 完整配置指南:從安裝到環境變數的避坑實戰

     編輯:Java 程式設計入門

前言

JDK 配置是 Java 學習的第一道關卡,也是新手最容易卡關的地方。本文針對 Windows 環境 (Win10/11、Server 2019+),以 JDK 17/21 LTS 版本為例,提供標準化安裝配置流程、環境變數原理解析、常見錯誤診斷與驗證腳本。

1. JDK 版本選擇與下載

版本策略

  • LTS 長期支援版:Java 8 (2030)、11 (2026)、17 (2029)、21 (2031) —— 生產環境首選
  • 特性版本:Java 9-10、12-16、18-20、22+ —— 每 6 個月發布,支援 6 個月,適合嘗試新特性

下載來源推薦

來源授權特點推薦場景
Eclipse TemurinGPL v2 + CE開源免費、無商業使用限制、多平台、定期更新企業生產、個人學習、容器基礎映像
Oracle JDKOTN / NFTC官方原廠、商業支援選項、Java 17+ 免費商用 (NFTC)需 Oracle 支援合約、特定認證環境
Azul ZuluGPL v2 / 商業高效能編譯器、ARM 優化、長期支援高效能計算、嵌入式、ARM 伺服器
GraalVMGPL v2 / 商業多語言、原生映像 (AOT)、高效能微服務、Serverless、多語言專案

2. 標準安裝流程 (以 Temurin 21 為例)

  1. 下載 OpenJDK21U-jdk_x64_windows_hotspot_21.x.x.msi
  2. 雙擊執行,安裝路徑建議:C:\Java\jdk-21 (避免空格、中文、Program Files 權限問題)
  3. 選擇功能:全部預設 (開發工具、原始碼、公共 JRE 可不裝)
  4. 完成安裝,記住安裝路徑即 JAVA_HOME

3. 環境變數核心原理與配置

三大關鍵變數

變數用途標準值必要性
JAVA_HOMEJDK 安裝根目錄,Maven/Gradle/IDE/伺服器尋找 JDK 依賴此變數C:\Java\jdk-21必須
PATH系統搜尋可執行檔路徑,需包含 %JAVA_HOME%\bin 以在任意目錄執行 java/javac%JAVA_HOME%\bin (置於最前)必須
CLASSPATH類別搜尋路徑,現代開發不建議設定系統級 CLASSPATH不設定或 .選擇性 (舊專案相容)

圖形化配置步驟 (Win10/11)

  1. Win + S 搜尋「編輯系統環境變數」→ 環境變數
  2. 系統變數 區域 → 新增:
    • 變數名:JAVA_HOME
    • 變數值:C:\Java\jdk-21 (您的實際安裝路徑)
  3. 系統變數找到 Path → 編輯 → 新增 → %JAVA_HOME%\bin → 上移至最頂端
  4. 確定關閉所有對話框
  5. 重新開啟終端機 (舊終端機不會讀取新環境變數)

命令列快速配置 (PowerShell 管理員)

$javaHome = "C:\Java\jdk-21"
[Environment]::SetEnvironmentVariable("JAVA_HOME", $javaHome, "Machine")
$path = [Environment]::GetEnvironmentVariable("Path", "Machine")
if (-not $path.Split(';').Contains("%JAVA_HOME%\bin")) {
    [Environment]::SetEnvironmentVariable("Path", "%JAVA_HOME%\bin;" + $path, "Machine")
}
Write-Host "請重新開啟 PowerShell 後執行 java -version 驗證"

4. 驗證與常見錯誤診斷

標準驗證指令

> java -version
openjdk version "21.0.2" 2024-01-16
OpenJDK Runtime Environment Temurin-21.0.2+13 (build 21.0.2+13)
OpenJDK 64-Bit Server VM Temurin-21.0.2+13 (build 21.0.2+13, mixed mode, sharing)

> javac -version
javac 21.0.2

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

> where java
C:\Java\jdk-21\bin\java.exe
C:\Windows\System32\java.exe  <-- 若出現此行,說明系統目錄有殘留 java.exe,需確保 %JAVA_HOME%\bin 優先

錯誤診斷決策樹

錯誤現象原因分析解決方案
'javac' 不是內部或外部命令PATH 未包含 %JAVA_HOME%\bin 或變數未生效檢查 PATH 順序、重開終端機、用 where javac 確認路徑
Error: JAVA_HOME is not defined (Maven/Gradle)系統變數缺少 JAVA_HOME 或路徑錯誤補齊 JAVA_HOME,指向 JDK 根目錄 (含 bin、lib、include)
Unsupported class file major version 65編譯版本 (JDK 21) 高於運行版本 (JDK 11)統一 JDK 版本、或設定 maven.compiler.release=11
中文路徑導致編譯失敗安裝路徑含中文/空格重裝至純英文路徑 (如 C:\Java\jdk-21)
多 JDK 版本衝突PATH 中有多個 JDK bin 目錄只保留一個 %JAVA_HOME%\bin,專案級用工具鏈管理
IDE 偵測不到 JDKIDE 讀取 JAVA_HOME 失敗IDE 設定中手動指向 JDK 根目錄、重啟 IDE

5. 進階:多版本管理工具

推薦工具:

  • SDKMAN! (Linux/macOS/WSL) —— sdk install java 21.0.2-tem、sdk use java 17.0.10-tem
  • Jabba (跨平台) —— jabba install adopt@1.21.0
  • Windows 原生:Chocolatey choco install temurin21 / Scoop scoop install temurin21-jdk

專案根目錄建立 .java-version 或 .sdkmanrc,自動切換版本,徹底解決多專案版本衝突。

6. HelloWorld 完整驗證流程

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

輸入代碼:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, Java " + System.getProperty("java.version") + "!");
    }
}
> javac HelloWorld.java
> dir HelloWorld.class  <-- 確認產生 class 檔
> java HelloWorld
Hello, Java 21.0.2!

總結

JDK 配置核心在於:正確安裝路徑 → 設定 JAVA_HOME → PATH 優先加入 %JAVA_HOME%\bin → 重開終端機驗證。避免設定系統 CLASSPATH,改用建構工具 (Maven/Gradle) 管理依賴。掌握 where java、java -version 診斷技巧,多版本環境引入 SDKMAN/Jabba 統一管理。配置無誤,才能專注於 Java 語言本身的學習與開發。

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