dependencies中的依赖,子项目无需显示声明即可全部继承
dependencyManagement中的依赖,子项目中不显式声明,是无法继承的。只有显示声明依赖并且没有指定版本号的情况下,才会继承父项目中dependencyManagement的依赖
两者可以同时使用[1]。
我个人的理解,dependencyManagement是为了进行依赖的管理,包括依赖版本的管理。例如使用dependencies时,子项目有误用不同版本jar的风险,不同版本的依赖可能导致模块之间调用出现问题。而dependencyManagement需要显示调用依赖且不管版本,无疑是降低了版本不同的风险。
此外,dependencyManageMent还可以指定依赖的格式,如从默认的jar改成pom,和范围[2]。
参考文献,
1, https://www.jianshu.com/p/e867ac845e11
2, https://blog.csdn.net/dark868/article/details/105171660