JAVA_HOME=C:\jdk1.8.0_202
要求:該目錄下包含 bin、lib、jre 等目錄。注意:不要加 \bin,後續 PATH 引用時再拼接。
PATH=%JAVA_HOME%\bin;%PATH%
bin 目錄加入 PATH 最前面,確保 java、javac、jar 等命令全局可用。%JAVA_HOME% 引用上一步變量,%PATH% 保留原有系統路徑。CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
;(句點分號)極其關鍵:表示「當前目錄」,優先加載當前目錄下的 .class 文件。缺失會導致同目錄下類無法被發現。%JAVA_HOME%\lib:JDK 核心類庫(如 rt.jar)。tools.jar:編譯工具類(javac 等依賴),部分舊版本 JDK 必需。JAVA_HOME、CLASSPATH;編輯 Path(Win10 顯示為列表,點「新建」添加 %JAVA_HOME%\bin 並上移)。java -version、javac -version、echo %JAVA_HOME%。| 現象 | 原因 | 解決 |
|---|---|---|
java 不是內部命令 | PATH 未生效或順序錯誤 | 重啟 CMD;檢查 PATH 是否包含 %JAVA_HOME%\bin 且在系統路徑前 |
| 版本不一致(java 1.8 / javac 11) | 多 JDK 殘留,PATH 指向錯誤 | 統一 JDK 版本,調整 PATH 順序 |
| ClassNotFoundException | CLASSPATH 缺少 . 或路徑錯誤 | 確保 CLASSPATH=.;...;或不設置 CLASSPATH(JDK 1.5+ 默認自動加載當前目錄) |
| Eclipse/IDEA 無法啟動 | JDK 位數不匹配(32/64位) | IDE 與 JDK 必須同位數 |
set JAVA_HOME=C:\jdk1.8.0_202
set PATH=%JAVA_HOME%\bin;%PATH%
set CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
寫入 auto.bat 或腳本可實現項目級隔離環境。
控制面板 → 程序和功能 → 卸載 JDK。切勿直接刪除安裝目錄,會導致註冊表殘留,後續無法安裝同版本。
環境變量配置看似簡單,實則暗藏細節:JAVA_HOME 指根、PATH 加 bin、CLASSPATH 必帶 .。掌握原理並養成「新開窗口驗證」習慣,能規避 90% 的「找不到命令/類」疑難雜癥。