JDK編譯環境和運行環境版本不一致:unsupported major.minor version 52.0


java  -version命令查看的是運行環境下的jdk版本

工程項目中Build Path下引用的是編譯環境下的jdk版本

出現這種情況根本原因就是運行環境與編譯環境jdk版本不一致。

第一步:首先確認工程項目中加入jdk版本與系統運行環境中使用jdk版本是否一致

工程項目中加入的jdk版本,這里查看時以工程項目下的Properties選項卡為准,而不是工作空間下的Properties選項卡

 

系統運行環境使用的jdk版本

 

 

 

 

 

第二步:若一致,多半是以下幾種情況

具體情況有:

A、切換jdk版本后,一些設置未復原。

建工程前統一調整,工作空間下window---preferences

以工程項目的為准,“項目右鍵”----Build Path---Configure  Build  Path

 

 

 檢查Tomcat使用到jdk版本

 

 

 若使用了其他編譯插件也應當檢查,以Ant為例,同樣建議以工程項目配置為准

 工作空間中查看Ant使用到jdk版本

建議以查看項目工程為准,項目工程查看Ant使用到的jdk版本,此處文件名可能不同“build.xml右鍵”---Run  As---External  Tools  Configurations

 

 

 

B、切換jdk版本后,緩存的編譯后的class文件未清除掉,導致啟動時可能加載的是之前高版本jdk編譯的class文件,找到清除掉重新編譯即可。(我碰到就這種情況,高版本jdk編譯的class文件在build文件夾下)

C、用到的某個版本的jar可能是高版本jdk編譯打包的,更換低版本jar或者提高你運行環境jdk版本。

教你如何查看jar版本信息,反編譯

 

 

Java編譯器內部的版本號,版本對應信息如下:

  Unsupported major.minor version 52.0 對應於 JDK1.8(JRE1.8) 

  Unsupported major.minor version 51.0 對應於 JDK1.7(JRE1.7) 

  Unsupported major.minor version 50.0 對應於 JDK1.6(JRE1.6) 

  Unsupported major.minor version 49.0 對應於 JDK1.5(JRE1.5) 

出現這種問題都是運行環境jdk版本低於編譯環境jdk版本,因為高版本支持低版本

 總結:

1、出現這種問題都是運行環境jdk版本低於編譯環境jdk版本,因為高版本支持低版本;

2、盡量保證工作空間的選項卡preferences與工程項目的選項卡preferences配置一致

3、以工程項目配置為准

4、盡可能檢查項目工程與編譯工具所有引用的到jdk的地方

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM