我的项目是先添加以下两个依赖,再配置了一个启动类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

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐