irpas技术客

Bug:SpringBoot类文件具有错误的版本 61.0, 应为 52.0_NPE~

大大的周 6169

Bug:SpringBoot类文件具有错误的版本 61.0, 应为 52.0

启动Springboot项目时候报错 java: 无法访问org.springframework.boot.SpringApplication 错误的类文件: /D:/Maven/apache-maven-3.6.3/repository/org/springframework/boot/spring-boot/3.0.0/spring-boot-3.0.0.jar!/org/springframework/boot/SpringApplication.class 类文件具有错误的版本 61.0, 应为 52.0 请删除该文件或确保该文件位于正确的类路径子目录中。

1 错误复现

从网上下载了一个项目之后,准备测试直接启动,下载完maven依赖之后,启动SpringBoot报错

....类文件具有错误的版本 61.0, 应为 52.0 2 解决方法 2.1 升级本地jdk为jdk17以上 将本地和idea项目的jdk版本改用为jdk17

修改本地jdk为17

修改idea的编译:

修改项目的jdk

”你发任你发 我用Java8“的时代可能要改变了,jdk17无论从GC,或者特性等各方面都超过了Java8,且加上JDK17是一个 Oracle官宣可以免费商用的LTS版本,所谓 LTS,是 Long Term Support,也就是官方保证会长期支持的版本。JDK 17 将是继 Java 8 以来最重要的LTS版本,是 Java 社区八年努力的成果。 不过,据说JDK21更值得令人期待。 2.2 降低SpringBoot的starter依赖版本

SpringBoot使用了3.0或者3.0以上,因为Spring官方发布从Spring6以及SprinBoot3.0开始最低支持JDK17,所以仅需将SpringBoot版本降低为3.0以下即可。

查看了一下我项目的maven依赖,发现确实是3.0.0版本,因此只需要降低版本即可

<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.7.5</version> <relativePath/> <!-- lookup parent from repository --> </parent> 3 后续bug

我将本地jdk换为17之后,报如下错误:

Java HotSpot? 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release. 错误: 找不到或无法加载主类 io.github.xxyopen.novel.NovelApplication 原因: java.lang.ClassNotFoundException: io.github.xxyopen.novel.NovelApplication

解决办法:

选中自己的SpringBoot项目,点击Modify options:

勾选上Disable launch optimization:

参考文章: https://blog.csdn.net/qq_49619863/article/details/128047256 https://codeantenna.com/a/kYrzHtE8Id


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #610 #应为 #520