微服务时代之自定义archetype(模板/骨架/脚手架)
1. 场景描述
(1)随着微服务越来越常见,一个大的项目会被拆分成多个小的微服务,jar包以及jar之间的版本冲突问题,变得越来越常见,如何保持整体微服务群jar及版本统一,也变成更加重要了,maven的自定义archetype(模板/骨架/脚手架)很好的解决了这个问题,在新建微服务项目的时候,使用统一的archetype创建项目,可以提高开发效率与避免不必要的项目jar包冲突。
(2)自定义archetype(模板/骨架/脚手架)主要有两个作用,一是针对本人,后续开发使用已经验证过的项目配置,可以提高开发效率与避免不必要的问题;二是针对项目成员或公司同事,大家使用统一的archetype,可以有效避免jar及版本冲突。
2. 解决方案
2.1 pom文件新增插件信息
首先在将作为archetype的项目的pom文件中添加插件配置信息:
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-archetype-plugin</artifactId> <version>3.0.0</version> </plugin>
如下图:
2.2 生成自定义archetype项目信息
点击mvn命令按钮,执行下面命令
mvn archetype:create-from-project
如下图:
2.3 查看及编译archetype项目信息
执行完成后,console中会有提示,项目文件生成在target下面。
文件可以直接修改,这时候可以修改pom文件或者java类,比如在pom文件中新增maven仓库信息。
<distributionManagement> <repository> <id>releases</id> <url>http://192.168.0.11:8888/nexus/content/repositories/releases</url> </repository> <snapshotRepository> <id>snapshots</id> <url>http://192.168.0.11:8888/nexus/content/repositories/snapshots</url> </snapshotRepository> </distributionManagement>
如下图:
2.4 打包(jar/war)
(1)路径是刚才生成的archetype路径:
E:\tool\workspace\spcrud\target\generated-sources\archetype
(2)执行maven命令是:
mvn clean install
(3)效果图
说明: jar包会打包到本地仓库中
[INFO] ---