【发布时间】:2021-05-24 18:55:03
【问题描述】:
因为it's 有人说:Project Aggregation is similar to Project Inheritance,我会假设当我们在父 pom.xml 中指定一个模块时,我们会将它的信息(例如依赖项)与它的子 pom 合并。然而,情况似乎并非如此。那么这两种机制到底有什么相似之处,聚合甚至将它的信息与它的子元素合并?
【问题讨论】:
-
聚合是关于允许 Maven 生命周期命令同时针对多个项目独立执行。对父项目执行生命周期命令,所有子项目(以 Modules 的形式)对它们执行相同的命令。从子模块或从父模块到智利模块的任何东西都没有“继承”。
-
是的,我明白了。这些概念似乎有不同的目的。但是,如果这两种机制似乎做完全不同的事情,那么它们究竟如何“相似”呢?
-
它们的相似之处在于它们都以累积 maven 动作的形式对项目的模块结构产生影响。在聚合的情况下,结果是每个模块的 maven 交互更少,而在继承的情况下,结果是模块之间共享 maven 依赖项。