JAVA_HOME=D:\soft\java\jdk1.7.0_72cmd 下 set java_home 顯示正確CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jarset classpath 卻顯示 D:\soft\java\jdk1.6.0_43\...Windows 環境變數分「使用者變數」與「系統變數」,使用者變數優先級高於系統變數。你可能在使用者變數中殘留舊的 CLASSPATH 或 JAVA_HOME,導致實際生效值非預期。
JAVA_HOME、CLASSPATH 的舊條目。JAVA_HOME = D:\soft\java\jdk1.7.0_72。CLASSPATH = .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar。Path,確保 %JAVA_HOME%\bin 在最前面(或至少在舊版 JDK 路徑之前)。
java -version → 應顯示 1.7.0_72echo %CLASSPATH% → 應指向 1.7 目錄
JDK 1.6+ 已不要求手動設定 CLASSPATH,類載入器會自動從 JAVA_HOME/lib 載入核心庫。建議刪除 CLASSPATH 變數,僅保留 JAVA_HOME 與 Path,減少衝突機率。
pom.xml/build.gradle 宣告 source/target compatibility,由建構工具解析。FROM eclipse-temurin:17-jdk 明確鎖定版本,環境隔離零干擾。