Maven高级(三)--聚合

1.解决的问题:


Maven高级(三)--聚合_第1张图片
此时tlias-web-management模块的父工程是tlias-parent,该模块又依赖了tlias-pojo,tlias-utils模块。那么此时,我们要将tlias-web-management模块打包,是比较繁琐的。因为进行项目打包,maven会从本地仓库来查找tlias-parent的父工程和它所依赖的模块tlias-pojo和tlias-utils,而本地仓库目前是没有这几个依赖的。
所以我们在打包tlias-web模块前,需要将tlias-parent,tlias-pojo,tlias-utils分别执行install生命周期安装到maven的本地仓库,然后再针对tlias-web-management模块执行package打包操作。

如果依赖进一步错综复杂,操作会十分繁琐。
这时我们通过maven的聚合就可以轻松实现项目的一键构建(清理,编译,测试,打包,安装等)。

2.概念

聚合:将多个模块组织成一个整体,同时进行项目的构建。
聚合工程:一个不具有业务的空工程(有且仅有一个pom文件)【ps:一般来说,继承关系中的父工程与聚合关系中的聚合工程是同一个,父工程也有且仅有一个pom文件】
作用:快速构建项目(无需根据依赖关系手动构建,直接在聚合工程上)


3.实现

在maven中,我们可以在聚合工程中通过设置当前聚合工程所包含的子模块的名称。我们可以在tlias-parent中,添加如下配置来指定当前聚合工程需要聚合的模块:
 


    ../tlias-pojo
    ../tlias-utils
    ../tlias-web-management

进行如上配置后我们只需要在聚合工程上统一进行操作就可以了,无需在每一个模块上进行编译打包安装等操作。

4.效果

tlias-parent中执行package打包指令,它所聚合的所有模块都会执行package指令。
【其实感觉说如果继承是相同依赖的提取,那么聚合就是相同操作的提取。】

你可能感兴趣的:(maven,java,数据库)