Combining inheritance and aggregation
By using the project inheritance feature of Maven, we can share common build attributes such as properties
and dependencies
across all children. We can also aggregate modules and build them together.
When project inheritance is used, the parent is not aware of the child. In the case of project aggregation, each module is not aware of the aggregation.
We will now see how to combine and get the benefits of both.
How to do it...
Open a multi-module project; in our case,
simple-multi-module
. This has a subfolderchild
, which is the module that is aggregated by the parent project.Update the parent pom as follows:
<groupId>com.packt.cookbook</groupId> <artifactId>simple-multi-module</artifactId> <packaging>pom</packaging> <version>1.0-SNAPSHOT</version>
Add the
module
section and specify the child:<modules> <module>child</module>
Update the child pom to specify the
parent
...