【已解决】Spring常见错误:类文件具有错误的版本 61.0, 应为 52.0

发布时间:2024年01月14日

目录


问题复现

? ? ? ? 报错内容如下:

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.145
Java SE 1.246
Java SE 1.347
Java SE 1.448
Java SE 549
Java SE 650
Java SE 751
Java SE 852
Java SE 953
Java SE 1054
Java SE 1155
Java SE 1256
Java SE 1357
Java SE 1458
Java SE 1559
Java SE 1660
Java SE 1761
Java SE 1862
Java SE 1963
Java SE 2064
Java SE 2165

????????记忆规律:?我们常用的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>

?

文章来源:https://blog.csdn.net/haohaizi_liu/article/details/135587074
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。