本文主要是介绍【已解决】Spring常见错误:类文件具有错误的版本 61.0, 应为 52.0,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 问题复现
- 原因分析
- 错误依赖
- 正确依赖
问题复现
报错内容如下:
java: 无法访问org.springframework.web.bind.annotation.RequestMapping
错误的类文件: /D:/Java/Apache Software Foundation/apache-maven-3.6.3/maven/repository/org/springframework/spring-web/6.0.11/spring-web-6.0.11.jar!/org/springframework/web/bind/annotation/RequestMapping.class
类文件具有错误的版本 61.0, 应为 52.0
请删除该文件或确保该文件位于正确的类路径子目录中。
原因分析
报错信息中的61.0和52.0其实是jdk对应的major version信息,他们分别对应jdk17和jdk8。其他JDK分别对应的major version如下表所示。
JDK版本 | major.minor version |
---|---|
Java SE 1.1 | 45 |
Java SE 1.2 | 46 |
Java SE 1.3 | 47 |
Java SE 1.4 | 48 |
Java SE 5 | 49 |
Java SE 6 | 50 |
Java SE 7 | 51 |
Java SE 8 | 52 |
Java SE 9 | 53 |
Java SE 10 | 54 |
Java SE 11 | 55 |
Java SE 12 | 56 |
Java SE 13 | 57 |
Java SE 14 | 58 |
Java SE 15 | 59 |
Java SE 16 | 60 |
Java SE 17 | 61 |
Java SE 18 | 62 |
Java SE 19 | 63 |
Java SE 20 | 64 |
Java SE 21 | 65 |
记忆规律: 我们常用的JDK1.8对应major.minor version的是52,每升级(降级)1个版本其major.minor version加1(减1)
错误依赖
1、当前的项目安装适应的JDK版本,IDEA中项目中配置好新的JDK;
2、第二种方式更为简单,直接去Maven远程仓库中复制一下低版本的Spring Web MVC依赖即可(我是更倾向于第二种方案)
我本地的JDK版本是1.8,也就是8,报错的依赖是:
<dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>6.0.4</version>
</dependency>
有可能是:
<dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>6.0.11</version>
</dependency>
正确依赖
<dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.2.0.RELEASE</version>
</dependency>
或者是
<dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>5.2.0.RELEASE</version>
</dependency>
这篇关于【已解决】Spring常见错误:类文件具有错误的版本 61.0, 应为 52.0的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!