In a large-scale development project with hundreds of Maven modules, managing dependencies could be a hazardous task. There are two effective ways to manage dependencies: POM inheritance and dependency grouping. With POM inheritance, the parent POM has to define all the common dependencies used by its child modules under the
dependencyManagement section. In this way, we can avoid all the duplicate dependencies. Also, if we have to update the version of a given dependency, then we only have to make changes in one place. Let's take the same example we discussed before using the WSO2 Carbon Turing project. Let's have a look at the
dependencyManagement section of
parent/pom.xml (only a part of the POM file is shown here): ...