一、脚手架是什么
脚手架是一种根底设施东西,用于快速生成项目的框架代码和文件结构。它是一种标准化的开发东西,使开发人员能够在项目的早期阶段快速建立出一个具有基本功能和结构的系统。
二、脚手架的含义
干流的微服务架构系统下许多公司会将原有的单体架构或许繁重的微服务进行拆分。这个时分按照模块(商品、订单、用户、库存、优惠、搜索、管理后台..)、按照领域驱动规划(投保、理赔、付出、保单管理)等进行拆分就需要许多的微服务项目,假如一个一个的去创立微服务其实是在做重复的作业容易出错并且没有含义,糟蹋人力物力。这个时分根底性的持久层、日志、反常处理、权限操控等在项目创立时一同生成不仅减少了重新创立或部分仿制带来的危险并且高效。
三、脚手架的创立
3.1 编写项目模版
首先咱们要有一个根底项目的模板,这个模板中集成了开发时所需要的常用装备,你可以自己建立,或许找一个根底项目如:SpringBoot 项目中现已引入了 MyBatis-Plus, Redis, Logback, Hutool, Swagger-UI 等。或许将公司的架构沉淀出一个根底项目的模板。
springboot模版项目:
3.2 生成脚手架
3.2.1 运用 idea 翻开项目模板
运用 IDEA 翻开根底项目,检查一下 maven 的装备途径,建立过程中要确保 maven 途径始终共同,我的 maven 途径如下。
D:/Program Files/apache-maven-3.2.5
D:\Program Files\apache-maven-3.2.5\conf\settings.xml
D:\Program Files\apache-maven-3.2.5\repository
然后运转一下项目,要确保根底项目是正常的。
3.2.2 留心版本号
然后留心一下 pom.xml 文件中的项目 gvn,这是项目的版本号,也与下文生成模板的版本号有关。
org.springframework.boot.demo
spring‐boot‐stage‐demo
0.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
履行完成后脚手架项目也就创立完成,生成如下所示的结构
注:这儿假如生成的是如下所示的结构
解决办法1.调整如图所示的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文件即可
3.2.4发布脚手架
用idea翻开后装备maven
在创立项目的时分也要确保maven的共同不然不能找到对应的脚手架pom
装备distributionManagement后deploy到artifactId仓库
不然创立的时分:Could not find artifact org.springframework.boot.demo:spring-boot-stage-demo-archetype:pom:0.0.1-SNAPSHOT
xxx-central
libs-releases-local
http://artifactory.66.com/libs-releases-local
xxx-snapshots
libs-snapshot-local
http://artifactory.66.com/libs-snapshots-local
pom里的 gav便是以后创立项目时用到的脚手架的gav
org.springframework.boot.demo
spring-boot-stage-demo-archetype
0.0.1-SNAPSHOT
maven-archetype
上传脚手架项目到git代码仓库保存便于以后更新和沉淀。
四、运用脚手架创立新的项目
4.1装备脚手架的gav
4.2填写要创立的方针项目的gav
4.3装备maven
4.4依据新的artifactId生成新的工程
五、参阅文档
maven.apache.org/archetype/m…
作者:京东健康 马仁喜
来历:京东云开发者社区