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的
本文分析了工程启动时报错nestedexceptionisjava.lang.UnsupportedClassVersionError的问题,详细解释了UnsupportedClassVersionError异常的原因,并提供了针对IDEA环境的具体解决方案,包括调整JavaCompiler设置和projectSDK配置。

1844

被折叠的 条评论
为什么被折叠?



