maven-archetype多模块骨架创建以及使用

一、背景

       最近部门的项目进行多模块拆分,一个maven模块里包含多个maven子模块,为了方便创建多模块,部门年轻的架构师(我很佩服他)用maven-archetype来创建多模块骨架,然后创建多模块就方便多了。

二、创建多模块骨架

1、首先创建父模块

    <groupId>com.cn.dl</groupId>
    <artifactId>biz-base-archetype</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>

2、然后创建两个子模块,这个根据自己的项目结构来创建

<modules>
     <module>biz-base-archetype-service</module>
     <module>biz-base-archetype-impl</module>
</modules>

3、最后创建好的模块结构

4、接下来根据创建的模版来生成骨架

进入当前项目的根目录,例如:cd biz-base-archetype/目录下,然后执行命了:maven archetype:create-from-project

初次需要下载很多jar包,时间稍微有点长,成功之后,可以看到下面内容

子模块的命名是父模块的命名 + 子模块的功能名,例如这里父模块是biz-base-archetype,子模块中,一个提供接口,一个提供具体实现,那么子模块最终的命名:biz-base-archetype-servicebiz-base-archetype-impl,模版里面是通过__rootArtifactId__占位符来替换自己创建的父模块的artifactId,这样最终生成的模块就是严格按照父模块的artifactId来命名。

5、生成骨架成功之后,发布到本地仓库,执行命令mvn install

进入 target/generated-sources/archetype/目录下,然后执行mvn install

最后在本地仓库就可以找到对应的模版

三、使用模版

1、添加模块

这样模版就添加成功了

2、选中biz-base-archetype-archetype,创建模块biz-task-api

一路next,不需要改动!!!

到这里使用自己创建的骨架模块创建多模块就OK了,是不是很爽!

四、可能出现的问题:

1、发现创建的多模块没有src/main/java目录,模块创建成功之后还要去创建目录,这样多麻烦,网上说在模块创建时,添加参数archetypeCatalog=internal 、archetype=Internal,貌似都不起作用,最后发现是archetype-metadata.xml里面没有申明去创建src/maven/java和src/main/resources目录!所以,在骨架模块里面创建Test.java、test.properties两个空文件

然后重新按照前面的步骤执行maven archetype:create-from-project、然后删除本地仓库中的骨架模版,再执行 mvn install

接下来再重新创建模块,就包含src/maven/java和src/main/resources这两个目录了!

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

燕少༒江湖

给我一份鼓励!谢谢!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值