解決 Java「Unsupported major.minor version 51.0」版本衝突錯誤
在 Java 開發中,Unsupported major.minor version 51.0 是常見的編譯/運行報錯。其核心原因只有一個:**系統環境變量指向的 JDK 版本與 IDE(如 Eclipse)項目配置的 JDK 版本不一致**。版本號 51.0 對應 JDK 7,若運行環境低於 JDK 7 卻嘗試載入由 JDK 7+ 編譯的 class 文件,即會拋出此錯誤。
快速排查與修復步驟
- 檢查系統環境變量
在命令行執行 java -version 與 javac -version,確認當前生效的 JDK 版本。
- 檢查 Eclipse 項目編譯器設定
右鍵項目 → Properties → Java Compiler → 勾選 Enable project specific settings → 確認 Compiler compliance level 與系統 JDK 版本一致(如均為 1.7 或 1.8)。
- 統一版本
將上述兩處版本調整為一致:要么升級系統 JDK,要么降低項目編譯版本。建議統一升級至長期支援版(LTS)如 JDK 11/17/21。
補充說明
- Major version 對照表:52=JDK 8, 53=JDK 9, 54=JDK 10, 55=JDK 11, 61=JDK 17, 65=JDK 21。
- 若使用 Maven/Gradle,還需檢查
pom.xml 或 build.gradle 中的 maven.compiler.source/target 設定。
- 多 JDK 共存環境建議使用
SDKMAN! 或 IDE 內建的 Toolchain 管理。