maven中使用dependencyManagement的好处

在pom.xml文件里,我们往往习惯按照如下方式引入依赖 

<dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>fastjson</artifactId>
     <version>1.2.56</version>
</dependency>

上述代码实际上自动填充了

<type>jar</type>

也即将依赖从maven仓库中以jar的形式下载到了本地仓库,但缺点也很明显:

1. 每一个依赖的类库都要在pom.xml中写明,导致pom.xml冗长。

2. maven本地仓库越来越大,极大的占用了磁盘空间。

为了解决上述问题,我们选择使用dependencyManagement,当与<scope>import</scope>搭配使用时,导入的不再是jar文件,而是一份写有依赖的pom文件,如下图所示:

 <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>1.5.9.RELEASE</version>
                <type>pom</type> 
                <scope>import</scope>
            </dependency>
        </dependencies>
</dependencyManagement>

这种做法还有一个好处是缓解了maven继承的压力。众所周知,一个pom.xml文件内只能有一个<parent>,而spring boot项目需要依赖spring-boot-starter-parent,如果此时项目需要继承其它父项目,那么使用dependencyManagement就是一个非常好的解决方案了。

发布了45 篇原创文章 · 获赞 13 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/miaomiao19971215/article/details/88891369