maven 中的pom中的 dependencyManagement 和 dependencies

参考:maven pom.xml 中 dependencyManagement和dependencies详解

现在的项目基本上都是使用多module来管理的,这就涉及到一个问题,多module之间如何使用共同的第三方jar,或者说如何减少相同的jar导入的配置。

1. 首先介绍<dependencies>

   我们是这里引入了一个jar包之后,这里如果没有加上version版本号的话,那么maven就会去<dependencyManagement>里找对应groupId和artifactId的jar,如果有就继承他,如果没有就会报错,这时候其实在我们配置的本地仓库中会真实的下载对应的jar包,这时候所有的子module都会默认继承这里面所有声明的jar

2. <dependencyManagement>

    这里其实是起到管理依赖jar版本号的作用,一般只会在项目的最顶层的pom.xml中使用到,所有子module如果想要使用到这里面声明的jar,只需要在子module中添加相应的groupId和artifactId即可,并不需要声明版本号,需要注意的是这里面只是声明一个依赖,并不是真实的下载jar,只有在子module中使用到,才会去下载依赖。


 


           

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

         dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖。如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom;另外如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。
---------------------
作者:刘腾腾
来源:CSDN
原文:https://blog.csdn.net/liutengteng130/article/details/46991829
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自www.cnblogs.com/aspirant/p/10070130.html