一、背景
java项目在启动的时候,报异常:
java.lang.UnsupportedClassVersionError: xxxxx has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0
其中“xxxx
”指的是具体的某个类。
二、分析
根据异常信息可知,是由于引入的jar包编译后的类使用的jdk版本
和自己本地的jdk版本
不同导致的(编译后的类使用的jdk版本不得高于
本地的jdk版本)。
查询方法:
点击报错信息中的xxxxx
类,例如:
从图中可以看到编译时使用的jdk版本
(java 8),再判断是否低于
自己本地jdk版本
。
如果不低于,显然就是有问题的。
参考文章:
链接: https://blog.csdn.net/qq_44664231/article/details/131544077
三、解决
在本次报错中,我查询到异常信息中涉及的类,编译时使用的jdk是17版本
,而我本地jdk
是1.8版本
,所以需要更改jar包版本
在pom文件中找到相应的jar包并修改版本号
(目前我的操作是一个版本一个版本地慢慢试,没有什么好方法能直接确定jdk1.8对应的是哪个版本的jar包),重新引入之后,查看对应的类编译使用的jdk版本是否低于
jdk1.8, 是则表示修改成功。重新启动项目成功