現象:`java -version` 正常,`javac` 提示「不是內部或外部命令」。`PATH` 已把 `/bin` 放最前,目錄下確有 `javac.exe`。
常見原因排查
- 環境變量未生效:修改後必須**重新打開 CMD/PowerShell**,或在 IDE 內重啟終端;
- 路徑含空格/特殊字符未加引號:如 `C:\Program Files\Java\jdk1.8\bin` 應寫為 `"C:\Program Files\Java\jdk1.8\bin"`;
- 多版本 JDK 衝突:系統變量 `Path` 可能還殘留舊版路徑,用 `where javac` 查看實際解析到哪個;
- 註冊表 `App Paths` 搶先:Win10 可能從註冊表讀取舊版路徑,檢查 `HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\javac.exe`。
快速定位命令
where javac
echo %JAVA_HOME%
javac -version
若 `where` 顯示多個路徑,第一個生效;刪除或調序多餘路徑即可。
參考百度經驗鏈接可獲圖文詳解。