Spring Initializr(start.spring.io)是由 Spring Boot 官方提供的一个开源的 Spring Boot 项目初始化器。它提供了一个简单易用的界面来创建和配置 Spring 项目的初始代码。通过这个网站,开发者可以选择所需的 Spring Boot 版本、语言、构建工具(如 Maven 或 Gradle)、依赖和其他项目设置。
由于 Spring Boot 飞速发展,紧跟官方更新的 Spring Initializr 中可选择的 Spring Boot 版本、Java 版本也在随之迭代升级。所以,通过 Spring Initializr 可能无法选择旧版本的 Spring Boot。
在idea中通过该start.spring.io网站已经无法选择老版本的springboot,可以通过手动修改pom文件,或者更换为国内镜像网站创建旧版本的springboot项目。
手动修改版本号
在创建的springboot的项目中,可以在idea中手动更改pom.xml文件。
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <!-- 在此处修改 Spring Boot 版本号 --> <version>2.7.6</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>demo</name> <description>Demo project for Spring Boot</description> <properties> <!-- 在此处修改 Java 版本 --> <java.version>11</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
注意:Spring Boot 所对应的Java版本:
Spring Boot 3 最低要求 JDK 17
Spring Boot 版本 |
Java 版本 |
3.0 - 3.2 |
17 - 21 |
2.7 |
8 - 20 |
2.6 |
8 - 19 |
2.5 |
8 - 18 |
2.4 |
8 - 16 |
2.2 - 2.3 |
8 - 15 |
2.1 |
8 - 12 |
2.0 |
8 - 9 |
使用国内镜像网站创建
在idea创建项目时,将官方网站更改为国内镜像网站。
这里采用阿里镜像服务:https://start.aliyun.com
使用国内镜像服务后,可以发现可选多个Java版本,并选择构建与之相对应的springboot项目。
不仅可以选择创建不同版本的springboot项目,而且创建项目速度更快,可以有效解决下载缓慢问题。