關於Unsupported major.minor version 52.0報錯問題解決方案


目錄

1.問題描述
2.問題分析
3.解決方案
步驟一:刪除JDK1.7版本
步驟二:導入JDK1.8版本
步驟三:將新的JDK1.8引入到工程中
4.總結
1.問題描述
在啟動項目工程中,當編譯class文件的時候會報錯一個 java.lang.UnsupportedClassVersionError: org/apache/activemq/ActiveMQConnectionFactory : Unsupported major.minor version 52.0錯誤,如圖。

這個問題既不是代碼出錯,也不是內存問題,更不是系統抽筋,通常導致很多朋友花費大量時間都不能愉快解決,筆者將這個疑問分享到博客為更多朋友解惑。

2.問題分析
首先,理解java.lang.UnsupportedClassVersionError異常,該異常位於java.lang包下,說明是Java編程的基礎類異常,UnsupportedClassVersionError顧名思議,Class類版本不支持錯誤,既然是版本問題,不外乎就是項目編譯Class的JDK版本環境與運行的虛擬機JDK版本環境不一致導致(了解虛擬機原理更容易理解這點),現在問題集中於編譯環境與運行環境兩個版本誰高誰低。沒事,我們再往下分析,根據錯誤信息還透露出Unsupported major.minor version 52.0,其中version 52.0正是對應了JDK1.8的版本。當然,也可以用java -version命令查看安裝JDK版本。說明我們編譯環境的JDK是1.8版本,再查到我們的工程環境下,發現工程下的JDK版本為JDK1.7(也許是1.6或1.5等,這里以1.7為例)。
類文件對應的版本如下列表:

JDK版本 序號
Java SE 10 54 (0x36 hex)
Java SE 9 53 (0x35 hex)
Java SE 8 52 (0x34 hex)
Java SE 7 51 (0x33 hex)
Java SE 6.0 50 (0x32 hex)
Java SE 5.0 49(0x31 hex)
JDK 1.4 48 (0x30 hex)
JDK 1.3 47 (0x2F hex)
JDK 1.2 46 (0x2E hex)
JDK 1.1 45 (0x2D hex)
3.解決方案
分析了怎么多,解決方式就簡單了,最終目的是讓兩個環境一致即可解決。一種方式重新安裝低版本JDK1.7,另一種方式是改變工程環境中為JDK1.8版本。
第一種不說了,一般情況也不會重裝JDK,重點說下第二種方式。

步驟一:刪除JDK1.7版本
鼠標右鍵工程,打開Java Build Path目錄,選擇JDK1.7的版本,點擊Remove按鈕將舊版本刪除,如圖:


步驟二:導入JDK1.8版本
找到JDK1.8的安裝目錄,將jre目錄文件導入到Standard VM中,如圖:


步驟三:將新的JDK1.8引入到工程中
與平常引用一樣,在Add Library選項下選取新的JDK環境,如圖:


4.總結
這個問題本身不難,關鍵在於對Java基礎要有一定的深度了解。再運用現有的知識逐步推理,順藤摸瓜,找到問題關鍵所在。
---------------------
作者:導哥
來源:CSDN
原文:https://blog.csdn.net/jingtianyiyi/article/details/80455916
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

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



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