Maven工程的聚合与继承
聚合
作用:聚合用于快速构建Maven工程,一次性构建多个项目/模块
![](https://img-blog.csdnimg.cn/4369d35e03bb41f1869203177b4ef416.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5oiR55yf5LiN5piv5oiS5ZOl,size_20,color_FFFFFF,t_70,g_se,x_16)
聚合有一个空的模块里面的pop.xml是用来专门管理其他的模块的,
他们不存在继承和其他关系,只是用来管理其他模块,方便打包
![](https://img-blog.csdnimg.cn/1d5ae6197d0a494a866184153b6dd6e7.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5oiR55yf5LiN5piv5oiS5ZOl,size_14,color_FFFFFF,t_70,g_se,x_16)
聚合制作方式:
在一个Maven工程种创建多个模块,其中有一个聚合模块里面只有pom.xml文件即可
![](https://img-blog.csdnimg.cn/7791ac0334e04d7cb89719cbdae6e344.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5oiR55yf5LiN5piv5oiS5ZOl,size_8,color_FFFFFF,t_70,g_se,x_16)
打开pop.xml, 将打包类型定义成 pom
![](https://img-blog.csdnimg.cn/fd73f32dcfc848f8b1ec7426783969ed.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5oiR55yf5LiN5piv5oiS5ZOl,size_10,color_FFFFFF,t_70,g_se,x_16)
使用modules建立其他模块的联系
![](https://img-blog.csdnimg.cn/3b8a40bee8064b74901ccfb083a2cce6.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5oiR55yf5LiN5piv5oiS5ZOl,size_15,color_FFFFFF,t_70,g_se,x_16)
注:参与聚合操作的模块最终执行顺序与模块间的依赖有关,与配置顺序无关
继承
作用:通过继承可以实现在子工程中沿用父工程中的配置
![](https://img-blog.csdnimg.cn/ed57f72281cb4c18aa53625de1d73b9e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5oiR55yf5LiN5piv5oiS5ZOl,size_20,color_FFFFFF,t_70,g_se,x_16)
子承父业,选择性继承
![](https://img-blog.csdnimg.cn/46bd6843ec9e4235abaea936674a5881.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5oiR55yf5LiN5piv5oiS5ZOl,size_17,color_FFFFFF,t_70,g_se,x_16)
制作方式:
在子工程中声明其父工程坐标与对应的位置
![](https://img-blog.csdnimg.cn/b69dd56eec2f4369a3ee3c74ff30c6f1.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5oiR55yf5LiN5piv5oiS5ZOl,size_18,color_FFFFFF,t_70,g_se,x_16)
继承依赖定义
在父工程定义依管理
![](https://img-blog.csdnimg.cn/d3715636b2464f2cb0d246e726224a2b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5oiR55yf5LiN5piv5oiS5ZOl,size_16,color_FFFFFF,t_70,g_se,x_16)
在子工程中定义依赖关系,无需声明版本号,版本参照父工程的依赖版本
![](https://img-blog.csdnimg.cn/27c78484902d4a2f8d906a6d8de2e06e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5oiR55yf5LiN5piv5oiS5ZOl,size_16,color_FFFFFF,t_70,g_se,x_16)
继承的资源
![](https://img-blog.csdnimg.cn/b65bd2bde5244ff29613c192677b5d7b.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5oiR55yf5LiN5piv5oiS5ZOl,size_20,color_FFFFFF,t_70,g_se,x_16)
继承与集合
![](https://img-blog.csdnimg.cn/0327c817f9b34610b9caea85127d55b9.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5oiR55yf5LiN5piv5oiS5ZOl,size_20,color_FFFFFF,t_70,g_se,x_16)