一、脚手架是什么

脚手架是一种根底设施东西,用于快速生成项目的框架代码和文件结构。它是一种标准化的开发东西,使开发人员能够在项目的早期阶段快速建立出一个具有基本功能和结构的系统。

二、脚手架的含义

干流的微服务架构系统下许多公司会将原有的单体架构或许繁重的微服务进行拆分。这个时分按照模块(商品、订单、用户、库存、优惠、搜索、管理后台..)、按照领域驱动规划(投保、理赔、付出、保单管理)等进行拆分就需要许多的微服务项目,假如一个一个的去创立微服务其实是在做重复的作业容易出错并且没有含义,糟蹋人力物力。这个时分根底性的持久层、日志、反常处理、权限操控等在项目创立时一同生成不仅减少了重新创立或部分仿制带来的危险并且高效。

三、脚手架的创立

3.1 编写项目模版

首先咱们要有一个根底项目的模板,这个模板中集成了开发时所需要的常用装备,你可以自己建立,或许找一个根底项目如:SpringBoot 项目中现已引入了 MyBatis-Plus, Redis, Logback, Hutool, Swagger-UI 等。或许将公司的架构沉淀出一个根底项目的模板。

springboot模版项目:

从0到1搭建自己的脚手架(java后端) | 京东云技术团队

3.2 生成脚手架

3.2.1 运用 idea 翻开项目模板

运用 IDEA 翻开根底项目,检查一下 maven 的装备途径,建立过程中要确保 maven 途径始终共同,我的 maven 途径如下。

从0到1搭建自己的脚手架(java后端) | 京东云技术团队

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,这是项目的版本号,也与下文生成模板的版本号有关。

从0到1搭建自己的脚手架(java后端) | 京东云技术团队

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

履行完成后脚手架项目也就创立完成,生成如下所示的结构

从0到1搭建自己的脚手架(java后端) | 京东云技术团队

注:这儿假如生成的是如下所示的结构

解决办法1.调整如图所示的artifactId与module前缀共同

从0到1搭建自己的脚手架(java后端) | 京东云技术团队

将产生的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

从0到1搭建自己的脚手架(java后端) | 京东云技术团队

装备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

从0到1搭建自己的脚手架(java后端) | 京东云技术团队

上传脚手架项目到git代码仓库保存便于以后更新和沉淀。

四、运用脚手架创立新的项目

4.1装备脚手架的gav

从0到1搭建自己的脚手架(java后端) | 京东云技术团队

4.2填写要创立的方针项目的gav

从0到1搭建自己的脚手架(java后端) | 京东云技术团队

4.3装备maven

从0到1搭建自己的脚手架(java后端) | 京东云技术团队

4.4依据新的artifactId生成新的工程

从0到1搭建自己的脚手架(java后端) | 京东云技术团队

五、参阅文档

maven.apache.org/archetype/m…

作者:京东健康 马仁喜

来历:京东云开发者社区