搭建自己的Spring Initializr替代htpps://start.springboot.io

    由于很多公司内网无法正常访问Spring Initializr阿里云Aliyun Java Initializr地址,想要通过连接Spring Initializr阿里云Aliyun Java Initializr地址快速搭建springboot工程变成不可能的事。网上搭建自己的Spring Initializr服务器要么是步骤不详细,要么的是搭建的老版本,总之没有一篇比较理想的教程。后经过自己研究尝试,基于最新版本的源码通过在windows上搭建自己的Spring Initializr服务器来替代Spring Initializr,步骤如下。

首先,自己的windows系统安装的Java版本是jdk8(或者jdk1.8)+,没有安装的可通过adopt openjdk下载地址下载openjdk或者去oracle官方网站去下载jdk,推荐下载openjdk,下载后安装并配置好环境变量,如图执行java -version可查看是否安装jdk。

jdk版本查看

下载安装maven(maven安装包下载地址,具体版本可根据喜好选择,此次需要至少3.5.4的版本)并配置环境变量,执行mvn -v可查看安装的maven版本。建议可修改settings.xml指定仓库为阿里云的maven库来提高访问速度。

maven版本查看

从github下载我们要编译的源码(此次基于GitHub最新代码v0.11版本编译,需要说明的是https://github.com/yarnpkg/yarn/releases/download/v1.22.4/yarn-v1.22.4.tar.gz编译过程中需要下载yarn,由于要访问github的缘故,构建过程中可能出现报错,需要反复执行命令进行构建)并解压(如下图),下载地址如下:

initializr源码地址

start.spring.io源码地址

由于近段时间国内直接访问GitHub地址出现访问很慢甚至连接不上的情况,上述地址地址经常打不开。现提供一种快速下载上述代码的方式https://shrill-pond-3e81.hunsh.workers.dev/,访问此地址,分别输入https://github.com/spring-io/initializr/archive/refs/heads/master.zip、https://github.com/spring-io/start.spring.io/archive/refs/heads/master.zip下载源码,或者直接浏览器分别打开快速下载initializr源码地址快速下载start.spring.io源码地址

解压后的源码

在编译前可先修改

待修改的文件

修改application.yml,如下图,增加port: 8089(注:此处源码是没有的,也就是默认值为port: 8080,可根据自己的喜好修改成自定义的端口号),也可以选择不增加,可选择命令行参数的方式对springboot进行配置管理。

修改后的文件

修改完后,依次编译initializr-master、start.spring.io-master、start-site这三个目录下的代码,之所以要依次编译是最终生成的jar需要initializr-master和start.spring.io-master编译生成的jar。

最终生成的jar包含initializr-master v0.9.0编译生成的jar


最终生成的jar包含initializr-master v0.11.0编译生成的jar
最终生成的jar包含start.spring.io-master编译生成的jar

执行命令mvn clean install -DskipTests编译 initializr-master

编译 initializr-master


编译中出现的报错
编译中出现的报错以及给出的解决办法

如上图,如果出现一样的报错信息,可根据提示Run ‘spring-javaformat:apply’ to fix进行解决,命令为mvn

spring-javaformat:apply


Run ‘spring-javaformat:apply’ to fix 

编译成功如下图

 initializr-master编译成功

执行命令mvn clean install -Dmaven.test.skip=true编译 start.spring.io-master,如果编译过程中遇到跟上面一样的报错,跟执行相应的命令解决。

编译 start.spring.io-master  

执行命令mvn clean install -Dmaven.test.skip=true编译 start.spring.io-master目录下的start-site。

编译 start.spring.io-master目录下的start-site  


yarn下载安装过程出现问题需要执行的命令
编译 start.spring.io-master目录下的start-site 遇到的问题

如上图,可修改start.spring.io-master\start-site目录下的pom.xml,添加如下图内容

解决方法

重新执行命令mvn clean install -Dmaven.test.skip=true编译 start.spring.io-master目录下的start-site生成start-site-exec.jar。来到start.spring.io-master\start-site\target目录,运行java -jar start-site-exec.jar,启动成功后访问http://localhost:8089(或者通过命令行参数方式运行,命令为java -jar start-site-exec.jar --server.port=8090,启动成功后访问http://localhost:8090),看看是不是跟Spring Initializr一样。

20210619更新(此次更新是基于阿里云maven仓库构建,比上述步骤有所缩减和补充)

maven的settings.xml文件已添加aliyun源

<mirror>

    <id>nexus-aliyun</id>

    <name>Nexus aliyun</name>

    <url>http://maven.aliyun.com/nexus/content/groups/public/</url>

    <mirrorOf>central</mirrorOf>

</mirror>

1.下载源代码构建(不需要下载 https://github.com/spring-io/initializr代码)

1)git clone https://github.com/spring-io/start.spring.io.git 或者手动下载最新main源码zip包。

2)cd start.spring.io

3)mvn clean install -DskipTests,此步时间略长,会安装node和yarn依赖,请耐心等待。

--哄哄_7ec0原创不易,转载请注明。

说明:跟更新前构建一样,编译start.spring.io也会遇到相同的问题

1)如果提示Run ‘spring-javaformat:apply’ to fix进行解决,命令为mvn  spring-javaformat:apply

2)如果提示Failed to execute goal pl.project13.maven:git-commit-id-plugin:3.0.1:revision (default) on project start-site: .git directory is not found! Please specify a valid [dotGitDirectory] in your pom.xml,解决方案见更新前的内容

3)由于内网环境比较复杂,还有人在公司内网遇到其他编译报错,比如类似以下情况

info There appears to be trouble with  your network connection. Retrying...

info There appears to be trouble with  your network connection. Retrying...

info There appears to be trouble with  your network connection. Retrying...

error An unexpected error occurred:"https://registry.yarnpkg.com/jszip/-/jszip-3.6.0.tgz:connect ETIMEDOUT 104.16.24.35:443"

此问题可参考https://blog.csdn.net/weixin_43876206/article/details/105168644

我最终是通过删除yarn.lock文件重新执行编译解决。

--哄哄_7ec0原创不易,转载请注明。

2.本地运行应用程序

1)cd start-site

2)mvn spring-boot:run

3)访问 http://localhost:8089/

运行编译后的项目
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335