多 Module 开发时:
如果在父模块(Module)中配置 dependencies,那么所有的子模块都自动继承;但这样的问题是,当前子模块并不需要父模块中所有的 dependency;
dependencyManagement 则可以解决这个问题,父模块中配置在 dependencyManagement 中的依赖,子模块只会引入当前需要的依赖;
如父模块配置了以下,则子模块默认继承引入该依赖(子模块不需要该依赖时也会引入)
<dependencies>
<dependency>
<artifactId>slf4j-log4j12</artifactId>
<groupId>org.slf4j</groupId>
<version>1.6.1</version>
</dependency>
</dependencies>
如父模块配置了以下,则子模块在显示的依赖了后,才会引入该依赖
<dependencyManagement>
<dependencies>
<dependency>
<artifactId>slf4j-log4j12</artifactId>
<groupId>org.slf4j</groupId>
<version>1.6.1</version>
</dependency>
</dependencies>
</dependencyManagement>
子模块配置(子模块显示配置了时才会引入依赖)
<dependencies>
<dependency>
<artifactId>slf4j-log4j12</artifactId>
<groupId>org.slf4j</groupId>
</dependency>
</dependencies>