Spring Boot 启动报错:类文件具有错误的版本 61.0, 应为 52.0

2,110 阅读2分钟

今天搭建了一个简单的 Spring Boot 应用,结果启动报错了,错误信息如下:

/Users/shifeifei/Projects/note-example/example-dubbo/example-dubbo-01/dubbo-01-provider/src/main/java/com/example/dubbo01/provider/Dubbo01ProviderApplication.java:3:32
java: 无法访问org.springframework.boot.SpringApplication
  错误的类文件: /Users/shifeifei/.m2/repository/org/springframework/boot/spring-boot/3.1.0/spring-boot-3.1.0.jar!/org/springframework/boot/SpringApplication.class
    类文件具有错误的版本 61.0, 应为 52.0
    请删除该文件或确保该文件位于正确的类路径子目录中。

导致启动失败的原因:

  • 因为平时工作开发使用Spring Boot的版本是2.7.*,JDK版本是1.8,而我搭建的这个项目使用了Spring Boot3.1.0版本
  • 解决该问题的方式是降低Spring Boot的版本到2.7.*;或者使用JDK 17

一、如何查看Spring Boot 各种版本

github.com/spring-proj…

image.png 当然也可以查看Tags,查看版本号

二、如何查看Spring Boot需要的环境信息

1. 如何查找相关文档

(1)进入Spring官网,spring.io/
(2)选择 Projects -> Spring Boot

image.png (3)选择 LEARN -> Reference Doc

image.png (4)选择 Getting Started -> System Requirements image.png

2. 常用Spring Boot版本

image.png

image.png

image.png

三、错误信息中的 6152又是啥东西

它是Java的class文件结构中的一个字段,叫major_version; 具体参考Oracle官方文档: docs.oracle.com/javase/spec…

Java SEReleasedMajorSupported majors
1.0.2May 19964545
1.1February 19974545
1.2December 19984645 .. 46
1.3May 20004745 .. 47
1.4February 20024845 .. 48
5.0September 20044945 .. 49
6December 20065045 .. 50
7July 20115145 .. 51
8March 20145245 .. 52
9September 20175345 .. 53
10March 20185445 .. 54
11September 20185545 .. 55
12March 20195645 .. 56
13September 20195745 .. 57
14March 20205845 .. 58
15September 20205945 .. 59
16March 20216045 .. 60
17September 20216145 .. 61
18March 20226245 .. 62
19September 20226345 .. 63
20March 20236445 .. 64