maven项目中dependencyManagement和dependencies的区别

dependencyManagement

maven中使用dependencyManagement标签来提供了管理依赖版本号的方式。通常会在一个项目中的最高层的父pom文件中看到dependencyManagement标签。

使用pom.xml 中的dependencyManagement元素能让所有在子项目中引用一个依赖而不用显式的列出版本号。Maven 会沿着父子层次向上走,直到找到一个拥有dependencyManagement元素的项目,然后它就会使用这个dependencyManagement元素中指定的版本号。

dependencyManagement就是管理依赖,管家的意思 例如: 在包含**<packaging>pom</packaging>**的父项目中引入依赖 在子项目中,再次使用该依赖时,不需要指定版本号。 多个子项目都引用同一个依赖,避免每个子项目中都声明版本号,避免版本不一致,更改版本麻烦等问题。如果升级版本,只需要在父pom中改变版本。如果子项目需要其他版本,只要在子项目中声明version执行版本。

    dependencyManagement只是声明依赖,并不实现引入

如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom;

经验分享 程序员 微信小程序 职场和发展