dependencies, dependency 和dependencyManagement

dependencies和dependencyManagement都是对依赖,jar包管理。
dependency:具体的依赖项信息。

1.  dependencies:自动引入声明在dependencies里的所有依赖,并默认被所有的子项目继承。

    如果项目中不写依赖项,则会从父项目继承(属性全部继承)声明在父项目  dependencies里的依赖项。

2. dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要的依赖。

    如果不在子项目中声明依赖,是不会从父项目中继承的;只有在子项目中写了该依赖项,并且没有

    指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom; 如果子项目中指定了

    版本号,那么会使用子项目中指定的jar版本。同时dependencyManagement让子项目引用依赖,

    而不用显示的列出版本号。Maven会沿着父子层次向上走,直到找到一个拥有dependencyManagement元素的项目,

    然后它就会使用在这个dependencyManagement元素中指定的版本号,实现所有子项目使用的依赖项为同一版本。

3. dependencyManagement 中的 dependencies 并不影响项目的依赖项;而独立dependencies元素则影响项目的依赖项。

    只有当外层的dependencies元素中没有指明版本信息时,dependencyManagement 中的 dependencies 元素才起作用。

    一个是项目依赖,一个是maven项目多模块情况时作依赖管理控制的。

猜你喜欢

转载自www.cnblogs.com/weihl/p/10296332.html