Day15-04.maven高级-继承与聚合-聚合实现

Day15-04.maven高级-继承与聚合-聚合实现

(1)聚合

分模块之后,我们的一个项目就会被拆成多个模块,而多个模块之间还会存在依赖关系,比如我们案例中的web-management以阿里utils这个模块,还要依赖pojo这个模块,如果我们开发的是一个大型项目,拆分的模块比较多,有可能模块之间的关系错综复杂,此时如果我们的项目已经开发完毕了,我们要将web-management模块打包上线,该怎么操作?

执行maven当中的package生命周期就行了吗?看操作

我们不是有这两个模块吗?为什么没有找到这个jar包呢?此时因为我们在执行package、install这些生命周期的时候,他会到本地仓库当中去找这两个模块,一个是pojo模块,一个是utils这个模块,然而本地仓库中没有这两个模块,所以web-management就构建失败了。接下来要往本地仓库安装这两个jar包,双击install就可以。全都install完成之后才打包完成。

这个过程非常的繁琐,我们必须要将这个模块他的父工程,以及他所依赖的其他模块必须要先按照对应的顺序安装到maven的本地仓库,然后才可以对这个模块进行打包,如果这个项目涉及到的模块比较多,模块之间的关系也比较复杂,此时操作起来就会非常繁琐,maven的聚合就是用来解决这个问题的。让我们轻松实现项目的一键构建,包括一键编译、一键打包等等。

(2)聚合

1、聚合:将多个模块组织成一个整体,同时进行项目的构建

2、聚合工程:一个不具有业务功能的“空”工程(有且仅有一个pom文件)

3、作用:快速构建项目(无需根据依赖关系手动构建,直接在聚合工程上构建即可)

(3)如何实现聚合?

1、maven中可以通过设置当前聚合工程所包含的子模块名称

注意事项:聚合工程中所包含的模块,在构建时,会自动根据模块间的依赖关系设置构建顺序,与聚合工程模块的配置书写位置无关。

(4)案例

(5)总结

1、作用:

①:聚合用于快速构建项目

②:继承用于简化依赖配置、统一依赖管理

2、相同点:

①:聚合与集成的pom.xml文件打包方式均为pom,可以将两种关系制作到同一个pom文件中

②:聚合与冀衡均属于设计型模块,并无实际的模块内容

3、不同点:

①:聚合是在聚合工程中配置关系,聚合可以感知到参与聚合的模块有哪些

②:继承是在子模块中配置关系,父模块无法感知哪些子模块继承了自己

感知到参与聚合的模块有哪些

②:继承是在子模块中配置关系,父模块无法感知哪些子模块继承了自己

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值