一、简单说明
本项目基于0.5.0版本的构建说明,其他版本会有所变动。源码地址
使用Spring Initializer构建Springboot项目是十分快速的,但是公司的网络总是连接不上https://start.spring.io,所以想要搭建一个和https://start.spring.io一样的构建服务器,网上找了半天没有比较简单的教程,只好自己试验下,记录下过程。
二、搭建过程
1.下载项目源码
github上下载spring initializer的开源项目,github地址点此前往,使用
git clone url
进行下载
git clone https://github.com/spring-io/initializr.git
2.切换到对应版本分支
这里使用0.5.0.RELEASE
git checkout 0.5.0.RELEASE
3.构建总项目
进入到项目根目录,使用如下命令构建:
必须先构建总项目,使每个模块都构建成功
cd initializr
./mvnw clean install
当看到如下输出就说明我们成功了:
[INFO] Spring Initializr .................................. SUCCESS [ 0.370 s]
[INFO] Spring Initializr :: Generator ..................... SUCCESS [ 5.238 s]
[INFO] Spring Initializr :: Web ........................... SUCCESS [ 10.677 s]
[INFO] Spring Initializr :: Actuator ...................... SUCCESS [ 6.371 s]
[INFO] Spring Initializr :: Docs .......................... SUCCESS [ 4.905 s]
[INFO] Spring Initializr :: Service ....................... SUCCESS [ 10.713 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 38.489 s
[INFO] Finished at: 2017-08-18T16:43:38+08:00
[INFO] Final Memory: 56M/506M
[INFO] ------------------------------------------------------------------------
4.构建子项目
个人理解,这是一个聚合包,将generate/web等模块聚合成一个可执行的jar
进入项目中的initializr-service文件夹
划重点:
0.5.0.RELEASE的initializr-service的pom文件有个问题,父项目的version写错了,需要我们自己手动修改一下。
<parent>
<groupId>io.spring.initializr</groupId>
<artifactId>initializr</artifactId>
<version>0.5.0.BUILD-SNAPSHOT</version>
</parent>
修改为
<parent>
<groupId>io.spring.initializr</groupId>
<artifactId>initializr</artifactId>
<version>0.5.0.RELEASE</version>
</parent>
执行以下命令
../mvnw package
成功后会输出以下信息
INFO] Results:
[INFO]
[INFO] Tests run: 64, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO]
[INFO] --- maven-jar-plugin:3.0.2:jar (default-jar) @ initializr-service ---
[INFO] Building jar: /Users/kimzing/Desktop/initializr/initializr-service/target/initializr-service.jar
[INFO]
[INFO] --- maven-source-plugin:3.0.1:jar-no-fork (attach-sources) @ initializr-service ---
[INFO] Building jar: /Users/kimzing/Desktop/initializr/initializr-service/target/initializr-service-sources.jar
[INFO]
[INFO] --- spring-boot-maven-plugin:2.0.4.RELEASE:repackage (repackage) @ initializr-service ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:30 min
[INFO] Finished at: 2018-08-23T18:13:13+08:00
[INFO] ------------------------------------------------------------------------
执行成功后会在initializr-service目录下生成target目录,将目录中的initializr-service.jar文件拷贝出来到任何你想运行的地方,执行以下命令进行运行并访问。
java -jar initializr-service.jar --server.port=8081
启动成功后访问相应的地址加端口即可。