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

Java 環境變數 JAVA_HOME、PATH、CLASSPATH 完整配置指南

     編輯:Java 相關知識

三大環境變數職責

變數用途必要性
JAVA_HOMEJDK 安裝根目錄,供 Maven/Gradle/Tomcat/IDE 定位 JDK強烈建議
PATH包含 %JAVA_HOME%\bin,讓 java/javac 等指令全域可用必須
CLASSPATH類載入搜尋路徑(含 . 當前目錄、tools.jar/dt.jar)JDK 1.5+ 可選(建議保留相容)

Windows 配置步驟

  1. 右鍵「此電腦」→ 內容 → 進階系統設置 → 環境變數
  2. 系統變數區新建/編輯

1. JAVA_HOME

變數名: JAVA_HOME
變數值: C:\Program Files\Java\jdk-17  (你的 JDK 安裝路徑,無 bin)

2. PATH

變數名: Path
變數值: 在現有值末尾追加: %JAVA_HOME%\bin
(用分號 ; 分隔,建議置於最前以優先使用)

3. CLASSPATH

變數名: CLASSPATH
變數值: .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar

關鍵細節:

  • . 代表當前工作目錄,必須保留
  • 用 %JAVA_HOME% 參考變數,未來升級 JDK 只需改一處
  • JDK 9+ 模組化後 tools.jar/dt.jar 已移除,此行可省略

Linux/macOS 配置

# ~/.bashrc 或 ~/.zshrc
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar  # JDK 8 及以下
# JDK 9+ 可省略 CLASSPATH

執行 source ~/.bashrc 生效。

驗證安裝

> java -version
openjdk version "17.0.8" 2023-07-18
OpenJDK Runtime Environment (build 17.0.8+7)
OpenJDK 64-Bit Server VM (build 17.0.8+7, mixed mode, sharing)

> javac -version
javac 17.0.8

> echo %JAVA_HOME%   (Win)
> echo $JAVA_HOME    (Linux/Mac)

常見問題排查

現象原因解決
java 非內部/外部指令PATH 未包含 %JAVA_HOME%\bin檢查 PATH 拼寫、分號、重啟終端機
版本不符多 JDK 共存,PATH 順序錯誤將目標 JDK bin 置於 PATH 最前
CLASSPATH 導致類衝突系統 CLASSPATH 污染專案依賴專案建議不依賴系統 CLASSPATH,用 Maven/Gradle 管理
IDE 無法偵測 JDK未設定 JAVA_HOME設定 JAVA_HOME 指向 JDK 根目錄(非 JRE)

現代開發建議

  1. 使用 SDKMAN / Homebrew / Chocolatey 管理多版本 JDK,自動維護環境變數
  2. 專案級 JDK 設定:Maven .mvn/jvm.config、Gradle java.toolchain、IDE Project SDK,不依賴全域環境
  3. 容器化部署:Dockerfile FROM eclipse-temurin:17-jdk 內建環境,無需手動配置
  4. CLASSPATH 可省略:現代構建工具完全接管類路徑,系統 CLASSPATH 反而易造成衝突

總結

JAVA_HOME 是基石,PATH 讓指令生效,CLASSPATH 為舊相容保留。新專案建議:設定 JAVA_HOME + PATH,拋棄系統 CLASSPATH,交給構建工具管理依賴。

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