前言
微服务的概念越来越流行,随着服务粒度越来越细,拆分的模块越来越明确,我们的工程项目也变得越来越多。
有时候一个项目搭建,需要集成数据库、Spring 框架、消息框架、分布式任务框架、缓存等等,如果每次都新建空项目,重新配置,有点太麻烦,所以可以使用项目模板功能
maven archetype:create-from-project,制作符合需求的脚手架工程
配置 demo 工程
一般制作的话,使用公司内常用的中间件依赖,制作一份统一的模板,后续新建项目就能更加快速和模块分级合理化。
这里记录的是常规项目模板制作:
打开 IDEA,新建一个工程(同样可以使用 IDEA 工具中自带的模板)
新建模块 module,制定合适的模块层级
1 | ├── test-controller |
例如上面那样结构,在 src 目录下方 java、resource、webapp 等文件
生成模板
1 | mvn archetype:create-from-project |
在项目目录下,输入该指令,等待执行完
可以在本地模式下测试模板是否符合预期,进入 target 目录下的 archetype 目录
1 | cd ${Your Project File Directory}/target/generated-sources/archetype |
例如上图,确认项目结构无误后,将模板安装到本地
1 | mvn install |
接着就能在 .m2/repository 目录下看到 archetype-catalog.xml,在里面多了刚才生成的模板
1 | <archetype> |
生成项目
1 | mvn archetype:generate \ |
-D
后面的参数是要重点说明一下的:
archetypeGroupId
:模板组织 IDarchetypeArtifactId
:模板 artifact IDarchetypeVersion
:模板版本号interactiveMode
:是否启用交互模式archetypeCatalog
:模板目录位置,分为 remote 和 localversion
:自己应用的版本号groupId
:自己应用的组织 IDartifactId
:自己应用的 artifact ID
例如我使用了 cn.sevenyuan 这个组织名,生成的目录结构如下
上传模板到仓库
需要在 target/generated-sources/archetype
目录下的 pom
文件中加入仓库地址,例如如下示范
1 | <!--运行 mvn deploy 时上传构件到本地仓库 --> |
接着在 archetype 目录下,执行 deploy 命令
1 | mvn deploy |
只要别人在 .m2 配置了该仓库地址,就可以一起使用这个项目模板