IDEA中SpringBoot项目中SpringBoot版本降级及JDK版本降级

创建项目

image-20240115114723212

选择版本和依赖

image-20240115114845906

如果单纯写接口选择Spring Web就行,我这里要调用其它接口所以又添加了OpenFeign

SpringBoot版本降级

SpringBoot从3.x开始不再支持JDK1.8,需要JDK17

报错

类文件具有错误的版本 61.0,应为 52.0 请删除该文件或确保该文件位于正确的类路径子目录中。

SpringBoot使用了3.0或者3.0以上,因为Spring官方发布从Spring6以及SprinBoot3.0开始最低支持JDK17

IDEA新建项目的SpringBoot版本只能是3.x版本了。

如果想降版本

找到parent,把对应的版本更改

1
2
3
4
5
6
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

改为

1
2
3
4
5
6
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.3</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>

SpringCloud版本从

1
2
3
4
<properties>
<java.version>17</java.version>
<spring-cloud.version>2023.0.0</spring-cloud.version>
</properties>

改为

1
2
3
4
<properties>
<java.version>17</java.version>
<spring-cloud.version>2021.0.0</spring-cloud.version>
</properties>

只要保证SpringBootSpringCloud版本匹配就行。

Java的版本可改可不改。

可以改成

1
2
3
4
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>2021.0.0</spring-cloud.version>
</properties>

如果要改的话参考上面的修改即可。

版本对应关系

https://spring.io/projects/spring-cloud/

Release Train Spring Boot Generation
2023.0.x 3.2.x
2022.0.x 3.0.x, 3.1.x (Starting with 2022.0.3)
2021.0.x 2.6.x, 2.7.x (Starting with 2021.0.3)
2020.0.x 2.4.x, 2.5.x (Starting with 2020.0.3)
Hoxton 2.2.x, 2.3.x (Starting with SR5)
Greenwich 2.1.x
Finchley 2.0.x
Edgware 1.5.x
Dalston 1.5.x

JDK版本降级

保证下面5个地方版本一致

下面以JDK17为例,如果要改为1.8

模块配置

File=>Project Structure...

(1) 项目版本

image-20240115110019353

(2) 模块版本

image-20240115110107445

(3) 模块SDK版本

image-20240115110203111

编译配置

(4) 编译版本

File=>Settings=>Build, Execution, Deployment=>java Compiler里选择本地安装的JDK版本。

image-20240115110609830

配置中

(5) pom.xml中JDK版本

1
2
3
<properties>
<java.version>17</java.version>
</properties>

如果是1.8

1
2
3
<properties>
<java.version>1.8</java.version>
</properties>