一个大中型Java项目中,一般由若干个module组成,各个module各司其职,担任整个工程中不同角色。大多数情况下,大多数module都会用到相同的jar包,或者插件。如果每个module中都引入自己喜欢的jar、插件,不仅冗余,而且太多冗余jar包,使得资源浪费。为了统一管理各个module中的library jar plugin,让所有子module都继承一个父pom.xml。有同学说,既然有了继承,我就直接在pom.xml 的 dependencies中声明module中需要的library,不就好了!想想如果有一些module中不需要这样的library,岂不是又要引进冗余jar。而dependencyManagement正好解决了这一问题,他在父pom.xml中,不会直接到repository中解析你定义的依赖,而是在子module中,如果你用到了dependencyManagement中声明的dependency包,这时你只需要声明包的groupid, artifactid,即可,因为dependencyManagement已经替你定义好了版本version,从而既实现了版本统一管理,又可以各取所需!
maven之 pluginManagement:
其实,它和dependencyManagement有相似功能,即:由父pom.xml定义该元素,可统一子项目中的插件。
在你的build中,pluginManagement仅仅是一种在所有module中分享相同插件配置的一种方式。