java: 无法访问org.springframework.boot.SpringApplication······类文件具有错误的版本 61.0, 应为 52.0。

  1. 错误详情
    在这里插入图片描述
  2. 分析错误
    这段错误信息表明你的Java编译器(Javac)正在尝试访问 “org.springframework.boot.SpringApplication ”类,但它发现了一个版本不匹配的类文件。具体来说,错误信息中提到:
  • 类文件的版本是 61.0,但应该是 52.0。
    这意味着你使用的“org.springframework.boot.SpringApplication” 类的编译版本(61.0)与当前Java编译器的版本不匹配。通常情况下,编译版本(class file version)应该与你的Java编译器版本相对应。版本号代表Java编译器的兼容性级别。
Java 版本类文件版本
Java 1.145.3
Java 1.246.0
Java 1.347.0
Java 1.448.0
Java 549.0
Java 650.0
Java 751.0
Java 852.0
Java 953.0
Java 1054.0
Java 1155.0
Java 1256.0
Java 1357.0
Java 1458.0
Java 1559.0
Java 1660.0
Java 1761.0
  1. 解决办法
  • 更新Java编译器:将你的Java编译器更新到与你正在使用的Spring Boot版本兼容的版本。如果你使用的是较新版本的Spring Boot,那么你需要使用相应版本的Java编译器。

  • 降低Spring Boot版本:如果你的项目没有特别需要使用较新版本的Spring Boot,可以考虑将Spring Boot版本降低到与你的Java编译器版本兼容的版本。你可以在项目的Maven或Gradle配置文件中指定要使用的Spring Boot版本。

  • 删除错误的类文件:根据错误信息中的提示,你也可以尝试删除 /D:/apache-maven-3.6.3/repository/org/springframework/boot/spring-boot/3.1.3/spring-boot-3.1.3.jar!/org/springframework/boot/SpringApplication.class 文件,并重新构建项目。(不建议)

这里推荐使用第二种:

打开pom.xml文件。将spring boot的版本号改为对应的版本。java8对应的是52,然而Spring Boot 2.0.x 版本对应的Java类文件版本都是 52。
在这里插入图片描述

改好之后关闭IDEA重启就好。如果还有报错异常,打开旁边的maven,点击clean,再刷新一下就好了。
在这里插入图片描述

说点题外话

  • SpringApplication.class文件 是Spring Boot应用程序的入口点,它封装了启动和配置Spring应用程序的复杂逻辑,使开发者能够更容易地创建和运行Spring Boot应用程序。其主要功能是启动Spring容器、加载配置、管理Bean和处理应用程序的生命周期。因为这是一个二进制文件,直接打开通常会看到乱码或无法识别的字符。
  • 如果想要打开看看:
  1. 可以先用winRAR打开jar包。
  2. 然后将里面的SpringApplication.class文件复制到桌面或者其他地方,用powershell打开。
  3. 看之前,需要增加Windows PowerShell缓冲区大小。右击Windows PowerShell的屏幕左上角,选择属性,找到布局,选择屏幕缓冲区大小的高度。
    在这里插入图片描述
    因为SpringApplication.class的类文件信息的字节数,超过了默认的缓冲区大小,无法查看完整的类文件信息。
  4. 进入powershell后,使用javap -v SpringApplication.class命令即可查看。
    javap -v SpringApplication.class
  5. 然后就能查看了,虽然几乎看不大懂。下面那个61应该就是版本号了。

在这里插入图片描述

  • 28
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值