start.spring.io 创建旧版本的 Spring Boot 项目

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。

截止撰稿时,start.spring.io 中最低的 Spring Boot 版本为 3.1.6,而目前大多数人用的仍然是 Spring Boot 2。

本文将会带你了解如何通过 start.spring.io 创建旧版本的 Spring Boot 项目。

手动修改版本号

你可以直接从 start.spring.io 创建任意 Spring Boot 和 Java 版本的 Spring Boot 项目,然后手动修改 pom.xml 或者 build.gradle 中的版本配置即可:

以 Maven 项目为例,只需要修改 pom.xml 中的 2 个配置元素即可:

<?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>3.2.0</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>21</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>

如上,<version>3.2.0</version> 就是指定 Spring Boot 的版本号,你可以替换为你实际上需要的版本。而 <java.version>21</java.version> 则是定义了 Java 的版本号,你也可以修改为你所需要的版本。

由于我们直接继承了 spring-boot-starter-parent 项目,所以在声明 Spring Boot 的依赖组件时,不需要声明版本号(得益于 Spring Boot 提供的依赖管理机制)。当修改 Spring Boot 版本时,组件的版本号也会自动修改为兼容的版本(如果声明了其他未受 Spring Boot 管理版本的依赖,需要注意是否兼容当前的 Spring Boot 版本)。

你可以在 spring-boot-dependencies 依赖的 pom.xml 中找到所有被 Spring Boot 所管理的组件,及其版本号。

最后,还要注意: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

推荐使用国内镜像

官方的 start.spring.io 服务在国外,由于一些不可抗拒因素,在国内访问的时候非常慢,而且经常打不开。推荐使用我们提供的镜像服务:https://start.springboot.io/。该服务部署在香港,访问速度极快,且紧跟官方更新!

当然,如果你在内网开发或者是有定制需求,那么你也可以自己搭建一个 Spring Initializr 服务。具体可以参考:“构建自己的 Spring Initializr 服务”。