如何生成旧版的SpringBoot项目

问题

因为用的是IDEA社区版,没有直接生成SpringBoot项目的功能,所以之前都是去官方Spring Initializr生成项目,不过现在官方升级到3.x了,但我这边还需要用到2.x的版本。

问了GPT3.5没有用,还是让我去官网,还是Claude提供了几个有用的方法,试了那个clone Spring Initializr旧版到本地来运行的方法不成功,最后还是Spring Boot CLI最好用。

解决

首先要下载Spring Boot CLI,不过官网只提供最新版本,但可以通过修改版本号取得旧版,比如: spring-boot-cli-2.4.5-bin.tar.gz

下载后解压到~/spring-2.4.5,然后运行如下命令生成项目:

cd ~/workspace
~/spring-2.4.5/bin/spring init -a demo -g com.yourdomain -v 2.4.5 -d web -n demo -p jar -j 11 -t gradle-project demo

其中:

  • -a为项目的Artifact
  • -g为项目的Group
  • -n为项目名
  • -v为SpringBoot版本
  • -j为JAVA版本
  • -d为依赖包,可以多个以逗号隔开
  • -p为包类型,默认为jar
  • -t为项目类型,这里用gradle-project
  • 最后的demo是要创建的文件夹名

之后就可以用IDEA打开~/workspace/demo项目了。

注意,生成的项目代码还是有问题,因为代码模板还是从spring官网下载的新版,需要自己改一下build.gradle里的版本号。

类似这样:

plugins {
	id 'java'
	id 'org.springframework.boot' version '2.4.5'
	id 'io.spring.dependency-management' version '1.0.11.RELEASE'
}

java {
	sourceCompatibility = '11'
}

另外,gradle会跳过生成jar,需要使用bootJar来生成。

推送到[go4pro.org]