1. 程式人生 > >Unsupported major.minor version 52.0報錯問題解決方案

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

1、問題描述

工程啟動的時候,報錯如下:

nested exception is java.lang.UnsupportedClassVersionError: tech/tablesaw/api/Table : Unsupported major.minor version 52.0 (unable to load class tech.tablesaw.api.Table)

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.解決方案

對於IDEA

1、Ctrl+Alt+S  Java Compiler 修改Target bytecode version為1.8

2、Ctrl+Shift+Alt+S  project修改project SDK1.8;修改Module SDK為1.8 ;SDKs選擇1.8的