从0到1搭建自己的脚手架(java后端)
授人以鱼不如授人以渔。给一份项目模板不如教大家怎么制作一份模板和使用模板快速生成新的项目,脚手架可能大家都不陌生,但是很多人只会用不会做。本文来带大家一起从0到1搭建属于自己的脚手架项目。
一、脚手架是什么
授人以鱼不如授人以渔。给一份项目模板不如教大家怎么制作一份模板和使用模板快速生成新的项目,脚手架可能大家都不陌生,但是很多人只会用不会做。本文来带大家一起从0到1搭建属于自己的脚手架项目。
脚手架:快速创建一个基础项目的模版。
主流的微服务架构体系下很多公司会将原有的单体架构或者繁重的微服务进行拆分。这个时候按照模块(商品、订单、用户、库存、优惠、搜索、管理后台……)、按照领域驱动设计(投保、理赔、支付、保单管理)等进行拆分就需要很多的微服务项目,如果一个一个的去创建微服务其实是在做重复的工作容易出错而且没有意义,浪费人力物力。 如果这个时候基础性的持久层、日志、异常处理、权限控制等在项目创建时一起生成,那不仅减少了重新创建或部分复制带来的风险,而且高效。
【 3.1 编写项目模板 】
springboot模版项目:
图1.springboot模版项目
【 3.2 生成脚手架 】
3.2.1 使用 idea 打开项目模板
使用 IDEA 打开基础项目,查看一下 maven 的配置路径,搭建过程中要保证 maven 路径始终一致,如下图所示。
图2.maven路径示意
D:/Program Files/apache-maven-3.2.5D:\Program Files\apache-maven-3.2.5\conf\settings.xmlD:\Program Files\apache-maven-3.2.5\repository
3.2.2 注意版本号
然后留意一下 pom.xml 文件中的项目 gvn,这是项目的版本号,也与下文生成模板的版本号有关。
org.springframework.boot.demospring‐boot‐stage‐demo0.0.1‐SNAPSHOT
3.2.3 构建脚手架
方式一:打开命令行窗口 Terminal ,正常情况指向的是本项目的目录,如果不是则 cd 到本项目,然后输入:
mvn archetype:create-from-project #从已有的项目中生成archetype.
方式二:当前项目所在文件夹下执行
eg: 项目的跟路径为 D:\spring-staggingcmd下执行
d:
cd D:\spring-stagging
mvn archetype:create-from-project
执行完成后脚手架项目也就创建完成,生成如下所示的结构
图4.脚手架项目创建完成生成结构示意
解决办法:调整如图所示的artifactId与module前缀一致
图5.调整如图所示的artifactId与module前缀一致
将产生的target目录移动到新的目录,打开gitbash进行如下操作
删除idea的相关文件
rm -rf .idea
find . -name ".iml" -type f -print -exec rm -rf {} ;
删除不需要的实例代码find . -name "xxxMain" -type f -print -exec rm -rf {} ;
eg:将脚手架放到D:\spring-stagging-archetype 目录下,目录下主要存放src和pom文件即可
用idea打开后配置maven
在创建项目的时候也要保证maven的一致否则不能找到对应的脚手架pom
图6.在创建项目的时候也要保证maven的一致
配置distributionManagement后deploy到artifactId仓库
否则创建的时候:Could not find artifact org.springframework.boot.demo:spring-boot-stage-demo-archetype:pom:0.0.1-SNAPSHOT
xxx-centrallibs-releases-localhttp://artifactory.66.com/libs-releases-localxxx-snapshotslibs-snapshot-localhttp://artifactory.66.com/libs-snapshots-local
pom里的 gav就是以后创建项目时用到的脚手架的gav
org.springframework.boot.demospring-boot-stage-demo-archetype0.0.1-SNAPSHOTmaven-archetype
图7.pom里的gav就是以后创建项目时用到的脚手架的gav
【 4.1 配置脚手架的gav 】
图8.配置脚手架的gav
【 4.2 填写要创建的目标项目的gav 】
图9.填写要创建的目标项目的gav
【 4.3 配置maven 】
图10.配置maven
【 4.4 根据新的artifactId生成新的工程 】
图11.根据新的artifactId生成新的工程
https://maven.apache.org/archetype/maven-archetype-plugin/
- END -