Maven聚
2年前 (2024-04-28)
在实际的开发过程中,我们所接触的项目一般都由多个模块组成。在构建项目时,如果每次都按模块一个一个地进行构建会十分得麻烦,Maven 的聚功能很好的解决了这个问题。
聚
使用 Maven 聚功能对项目进行构建时,需要在该项目中额外创建一个的聚模块,然后通过这个模块构建整个项目的所有模块。聚模块仅仅是帮助聚其他模块的工具,其本身并无任何实质内容,因此聚模块中只有一个 POM 文件,不像其他的模块一样包含 src/main/java、src/test/java 等多个目录。与父模块相似,聚模块的打包方式(packaging)也是 pom,用户可以在其 POM 中通过 modules 下的 module 子元素来添加需要聚的模块的目录路径。
修改 Root 模块 POM 的配置如下。
<project xmlns="http://maven.apache网站站点" rel="nofollow" />
mvn clean install
令直接结果如下图。

图1:Maven 聚构建
聚模块在构建时,Maven 会先解析聚模块的 POM、分析需要构建的模块,并根据这些模块之间的关系计算出构建顺序,然后根据这个顺序依次构建各个模块。
构建完成后输出的是一个项目构建的小结报告,该报告中包括各个模块构建成功与否、构建花费的时间、以及整个构建构成所花费的时间等信息。
继承和聚的关系
在实际的项目中,一个模块往往既是聚模块又是其他项目的父模块,那么 Maven 的继承和聚的关系是如何的呢?Maven 的继承和聚的目的不同,继承的目的是为了消除 POM 中的重复配置,聚的目的是为了方便快速的构建项目。
对于继承中的父模块来说,它跟本不知道那些模块继承了它,但子模块都知道自己的父模块是谁。
对于聚模块来说,它知道哪些模块被聚了,但那些被聚的模块根本不知道聚模块的存在。
两者在结构和形式上还是有一定的共同点的,最直观的就是两者的打包方式都是 pom,两者除了 POM 外都没有实际的代码内容。
- 随机文章
- 风儿(风儿轻轻的吹)
- 饿了么红包怎么用(饿了么红包怎么用微信支付)
- 儿童教育文章(儿童教育)
- 光遇花手先祖位置(安卓光遇手花先祖)
- 广州4a广告公司(广州4a广告公司创意总监年薪)
- 抖音卡(抖音卡顿怎么解决)
- 陈武简历
- 帆船比赛(帆船比赛视频)
- 海猫鸣泣之时游戏(海猫鸣泣之时游戏在哪玩)
- 韩国媳妇和小雪(韩国媳妇和小雪的父亲工资是多少)
- 鬼泣5攻略(鬼泣5攻略第三关怎么跳)
- 地球日主题(2020年世界地球日主题)
- 和柳亚子(和柳亚子先生于田)
- 冰客(冰客果汁)
- yy魔兽(yy魔兽世界)
- 国外成人游戏(国外成人游戏注册需要visa信用卡)
- 充值卡代理(充值卡代理加盟)
- 拆奶罩
- 郭妮小说(恶魔的法则郭妮小说)
- 东天目山(东天目山景区)
- 杭同(杭同培训中心怎么样)
- 蝙蝠给人类的一封信(蝙蝠给人类的一封信)
- 大松电饭煲(美的大松电饭煲)
- 服饰加盟(服饰加盟店招商)
- 疯狂填字(疯狂填字5)
- 点对点短信息(点对点短信息费是什么意思)
- 观音普门品(观音普门品念诵全文)
- 河北省大运会(河北省大运会时间)
- 哈利波特官网(哈利波特官网在哪里)
- 骇客神条(骇客神条怎么辨别真假)
