轉:
Unsupported major.minor version 52.0解決辦法
一、錯誤現象:
當改變了jdk版本時,在編譯java時,會遇到Unsupported major.minor version錯誤。
jdk版本和stanford parser對應關系
JDK版本和Java編譯器內部的版本號
J2SE 8 = 52,
J2SE 7 = 51,
J2SE 6.0 = 50,
J2SE 5.0 = 49,
JDK 1.4 = 48,
JDK 1.3 = 47,
JDK 1.2 = 46,
JDK 1.1 = 45
Unsupported major.minor version 52.0 這個錯誤網上一百度一大堆,我就簡單的記一下。
簡單來說,就是執行代碼的jdk版本 低於 編譯的jdk版本
項目中錯誤:java.lang.UnsupportedClassVersionError: org/springframework/web/SpringServletContainerInitializer : Unsupported major.minor version 52.0 (unable to load class org.springframework.web.SpringServletContainerInitializer)
解決辦法:1、先查看項目中的jdk版本。2、因為是spring的錯誤,可以查看jdk版本與spring版本的兼容問題。
如題所示,出現這個問題的原因是:將高版本JDK編譯的項目放到低版本JDK所在的eclipse環境中編譯運行將會出現這個錯誤。因此,要想這個項目在低版本的環境中能夠正常運行,可以按照下面的思路進行解決:
(1)查看JDK的環境變量,確保JDK環境變量已經配置正確
(2)修改Java Build Path:
在eclipse中的項目上鼠標右鍵,Properties –> Java Build Path –>Libraries,將這里面不存在的刪掉,並重新選擇當前存在的庫,如:JDK1.7、Tomcat7.0等
這一步做完之后,刷新項目重新編譯運行,如果仍然報錯的話,請繼續往下看
(3)修改Project Facets:
同上面一樣,在eclipse中的項目上鼠標右鍵,Properties –> Project Facets
在這里,主要修改我圈上的這兩項配置,上面的3.0和JDK1.7相對應,3.1和JDK1.8相對應
如果這里不能修改,或者修改后刷新項目仍然報錯的話,請繼續往下看
(4)修改org.eclipse.wst.common.project.facet.core.xml:
打開項目所在的文件夾,打開.settings文件夾,修改里面的“org.eclipse.wst.common.project.facet.core.xml”文件
跟上面一樣,直接修改這里的版本,然后回到eclipse里的項目,刷新項目重新編譯運行
(5)最后絕招:
如果以上的步驟都做完了,仍然出現這個錯誤的話,就只能上絕招了。那就是:
- 將源項目進行備份
- 然后在eclipse中新建一個動態Java項目
- 把源項目中的所有Java文件、配置文件、前台頁面等文件統統復制到新項目中
- 編譯運行新項目
我相信都做到這一步了,應該是可以解決這個問題了