官方下載頁:Oracle JDK Downloads 或採用 OpenJDK 發行版(如 Temurin、Azul Zulu)。選擇 LTS 版本(Java 8/11/17/21)保證長期支持。
D:\Java\ ├── jdk-17.0.9 # JDK 安裝根目錄(含 bin、lib、include) └── jre-17.0.9 # 獨立 JRE 目錄(可選,JDK 內已包含 jre)
⚠️ 切勿將 JDK 與 JRE 安裝到同一根目錄(如同在 D:\Java\),會導致文件覆蓋錯誤。必須使用不同子目錄。
打開 系統屬性 → 高級 → 環境變量,操作 系統變量:
變量名:JAVA_HOME 變量值:D:\Java\jdk-17.0.9
作用:所有 Java 工具(Maven、Gradle、Tomcat、IDEA)尋找 JDK 根目錄的標準入口。
變量名:CLASSPATH 變量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
. 代表當前目錄(關鍵,否則同目錄下類找不到)。tools.jar 包含編譯器工具類,JDK 9+ 已模組化可省略,保留兼容無害。變量名:Path 在末尾新增兩條(順序無關): %JAVA_HOME%\bin %JAVA_HOME%\jre\bin
💡 若原 Path 末尾無分號
;,先補上再粘貼。建議將 JDK 路徑置頂優先級最高。
C:\Users\Admin> java -version java version "17.0.9" 2023-10-17 LTS Java(TM) SE Runtime Environment (build 17.0.9+8-LTS-201) Java HotSpot(TM) 64-Bit Server VM (build 17.0.9+8-LTS-201, mixed mode, sharing) C:\Users\Admin> javac -version javac 17.0.9
同時輸出版本號即配置生效。
| 現象 | 原因 | 解決 |
|---|---|---|
| 'java' 不是內部命令 | Path 未生效/拼寫錯誤 | 重啟 CMD / 檢查 %JAVA_HOME%\bin 路徑 |
| 版本不一致 | 多 JDK 共存,Path 順序錯 | 調整 Path 順序,置頂目標版本 |
| CLASSPATH 導致找不到類 | 錯誤覆蓋系統默認值 | 刪除 CLASSPATH 變量(現代構建工具不依賴它) |
推薦使用 SDKMAN! (Linux/macOS/WSL) 或 jEnv / Scoop (Windows) 管理多 JDK 版本,一鍵切換:
scoop install oraclejdk8 oraclejdk17 oraclejdk21 scoop reset oraclejdk17 # 切換到 17