? ? ? ? 报错内容如下:
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>
?