乐趣区

关于脚手架:从0到1搭建自己的脚手架java后端-京东云技术团队

一、脚手架是什么

脚手架是一种基础设施工具,用于疾速生成我的项目的框架代码和文件构造。它是一种标准化的开发工具,使开发人员可能在我的项目的晚期阶段疾速搭建出一个具备基本功能和构造的零碎。

二、脚手架的意义

支流的微服务架构体系下很多公司会将原有的单体架构或者沉重的微服务进行拆分。这个时候依照模块 (商品、订单、用户、库存、优惠、搜寻、治理后盾..)、依照畛域驱动设计(投保、理赔、领取、保单治理) 等进行拆分就须要很多的微服务项目,如果一个一个的去创立微服务其实是在做反复的工作容易出错而且没有意义,节约人力物力。这个时候基础性的长久层、日志、异样解决、权限管制等在我的项目创立时一起生成不仅缩小了从新创立或局部复制带来的危险而且高效。

三、脚手架的创立

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 生成新的工程

五、参考文档

https://maven.apache.org/archetype/maven-archetype-plugin/

作者:京东衰弱 马仁喜

起源:京东云开发者社区

退出移动版