多模块拆分时 DepencyManagement 与 Dependencys区别

Posted willpan-z

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多模块拆分时 DepencyManagement 与 Dependencys区别相关的知识,希望对你有一定的参考价值。

1DepencyManagement

dependencyManagement让子项目中引用一个依赖而不用显示的列出版本号。Maven会沿着父子层次向上走,直到找到一个拥有dependencyManagement元素的项目,然后它就会使用在这个dependencyManagement元素中指定的版本号。 这样做的好处:统一管理项目的版本号,确保应用的各个项目的依赖和版本一致。

2Dependency

所有生命在dependencies里的依赖都会自动引入,并默认被所有的子项目继承。

3区别

1. dependencies即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项(全部继承)

2. dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且versionscope都读取自父pom;另外如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。

 



以上是关于多模块拆分时 DepencyManagement 与 Dependencys区别的主要内容,如果未能解决你的问题,请参考以下文章

Dependencies与DepencyManagement的区别

Dependencies与DepencyManagement的区别

Dependencies与DepencyManagement的区别

Dependencies与DepencyManagement的区别

springboot 多模块 -- 将web拆分出去 - 流动计算架构

有没有办法将多模块 Maven 项目拆分为不同的 Git 存储库?