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

weixin_30788239發表於2020-04-05

目錄

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
版權宣告:本文為博主原創文章,轉載請附上博文連結!

轉載於:https://www.cnblogs.com/Jeremy2001/p/10466925.html

相關文章