org.springframework.beans.factory.BeanDefinitionStoreException报错

org.springframework.beans.factory.BeanDefinitionStoreException报错


问题:
org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [E:\idea\springmvc\SpringMVC\out\artifacts\springmvc_03_hellos_annotation_war_exploded\WEB-INF\classes\cn\edu\controller\HelloController.class]; nested exception is org.springframework.core.NestedIOException: ASM ClassReader failed to parse class file - probably due to a new Java class file version that isn’t supported yet: file [E:\idea\springmvc\SpringMVC\out\artifacts\springmvc_03_hellos_annotation_war_exploded\WEB-INF\classes\cn\edu\controller\HelloController.class]; nested exception is java.lang.IllegalArgumentException: Unsupported class file major version 59

无法读取候选组件类:文件[E:\ idea \ springmvc \ SpringMVC \ out \ artifacts \ springmvc_03_hellos_annotation_war_exploded \ WEB-INF \ classes \ cn \ edu \ controller \ HelloController.class];嵌套的异常是org.springframework.core.NestedIOException:ASM ClassReader无法解析类文件-可能是由于尚不支持新的Java类文件版本:file [E:\ idea \ springmvc \ SpringMVC \ out \ artifacts \ springmvc_03_hellos_annotation_war_exploded \ WEB-INF \ classes \ cn \ edu \ controller \ HelloController.class];嵌套的异常是java.lang.IllegalArgumentException:不支持的类文件主要版本59

原因:项目工程的jdk版本和spring的jar包不兼容,我的jdk版本是15,spring的jar包是5.1.9。

就是下图这个org.springframework版本的问题
在这里插入图片描述
解决方法: 下载其他版本的spring的jar包,如4.1.3版本的jar包,将4.1.3的jar包加入到dependency中,然后将项目中的lib中关于spring5.1.9的jar包全部删除掉。贴图如下

首先将版本更改为4.1.3,然后刷新maven
在这里插入图片描述
快捷键Ctrl+Alt+Shift+S进入项目结构
将报红的jar包删除,保存
ps:如果没有自动导入4.1.3版本的jar包,则手动导入,在lib处右键添加library files文件,即jar包
在这里插入图片描述
在这里插入图片描述
PS:从红箭头处也可以进入项目结构页面
更改上述操作成功后运行tomcat,终于没有报错了!!!
在这里插入图片描述
解决了问题的小伙伴记得给我点个赞啊,谢谢啦。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值