我的项目是先添加以下两个依赖,再配置了一个启动类Application01。

当我运行启动类却有如下的报错:

springboot:Application run failed

org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: file [D:Springbootspringbootspringboot01 argetclassescomyyfApplication01.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 [D:Springbootspringbootspringboot01 argetclassescomyyfApplication01.class]; nested exception is java.lang.IllegalArgumentException: Unsupported class file major version 61

通过各种搜索和研究找到了原因:该项目的jdk版本是17,而父工程的启动器版本是2.1.9.RELEASE。因为这两个版本的不兼容导致了报错。

解决方法:

第一步:查看下面这篇文章,选择使用了3.1.2版本的SpringBoot。(其他可支持jdk17的把版本也可以选择)

Spring Boot各版本与Java版本的对应兼容关系,与构建工具(Maven、Gradle)版本的对应兼容关系,对servlet 容器的支持_springboot java版本-CSDN博客

第二步:在pom.xml中将对应的版本号修改为3.1.2

第三步:点击右侧Maven中的Lifecycle中的install

第四步:解决另外一个问题:程序包javax.annotation不存在报错

由于使用的是jdk17,javax.annotation不存在,需要加上该依赖

第五步:再次点击右侧Maven中的Lifecycle中的install

最后运行启动类Application01成功

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐