Spring Initializr无法创建jdk1.8项目解决办法,附一键启动jar包

文末有惊喜🎉

背景

        最近想新创建一个springboot项目,发现通过https://start.spring.io/无法创建Java8的项目了,只能创建Java17以上。找了很久没有解决,通过maven创建引依赖的方式总感觉差点意思,网上搜索有一种方法是通过阿里云Initializer:https://start.aliyun.com/ 但还是觉得没那么官方,哈哈🤪。

        最后想着官方开源了Spring Initializr和start.spring.io两个项目,肯定能把那个能支持Java8的版本找到🤔,自己动手丰衣足食,说干就干。

1、下载start.spring.io项目源码

        打开IDEA,下载https://github.com/spring-io/start.spring.io.git代码,发现只有一个main分支,好吧,查看提交历史,找到移除Java8和Java11支持的提交(图1),Checkout移除提交之前的一个提交;需要Java17,没有的请先下载哦!

图1
图1

2、模块分析

        主pom包含两个模块:start-client和start-site

        start-client:前端模块,打包执行安装node和yarn命令,然后执行前端依赖安装yarn install命令,然后执行yarn build前端打包命令;最后将前端打好的前端包copy到classes/static目录下,生产前端jar包,以供start-site引用;这块我觉得很有意思,通过jar包的形式引入前端模块;我们公司现有的方式是通过assembly插件移动到后端的static目录下,现在发现这种也是一种思路,后面有时间再出一篇文章介绍下这两种方式。

        start-site:后端模块,发现引入了Spring Initializr项目的相关依赖,版本是0.21.0-SNAPSHOT,并且idea提示下载不下来,maven仓库并没有相关jar包。

        start-site-verification:看官方文档应该是用来测试的,这个先不管。

3、编译安装Spring Initializr依赖

        上面说Spring Initializr相关的依赖仓库里没有,只能自己下载源码编译安装了,找到0.21.1之前的提交,检出install即可。

4、start.spring.io打包

        Spring Initializr依赖jar有了,最后就需要到start.spring.io根目录下执行打包命令

mvn package -Dmaven.test.skip=true

        打包完之后,会生成一个可执行的jar文件start-site/target/start-site-exec.jar,迫不及待,赶紧运行看看。

java -jar start-site/target/start-site-exec.jar

成功了🎉,赶紧访问下http://localhost:8080,哇哇哇,想要的都有🎉🎉🎉🎉🎉🎉🎉🎉

赶紧把jar包保存一下,哈哈哈,以后要用自己运行下就好啦。需要的话文章附件下载就好了。

5、后续

        根据上面描述先会打前端模块,如果本地有node,可以start-client模块前端插件执行相关的注释掉,进入start-client模块,自己使用npm先把前端打出来,然后在根目录执行maven打包命令;

npm i
npm build

6、JAR包

链接: https://caiyun.139.com/m/i?2fALg4skTQres  提取码:l7m4

别问我为什么不用BD云🤪

  • 10
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值