maven中dependencies与dependencyManagement的区别

dependencies

dependencies标识了一个依赖的引入,只要出现,则代表引入jar包。如果父pom出现,那么子pom会自动把父pom引入的jar包全部引入。



dependencyManagement

dependencyManagement属于在parent中进行配置的一个属性,语法如截图所示。

这里只是声明了一个依赖的的版本号,并没有实质引入依赖的jar包。

 <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
                <version>2.2.1.RELEASE</version>
            </dependency>
          <dependencies>
 <dependencyManagement>

当子pom文件引入了父pom文件后,如果子pom文件引用了spring-boot-starter-web的依赖,但是并未指定版本时,那么会自动使用父pom的指定版本号, 如下图所示

 <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
  <dependencies>

如果子pom指定了版本号,则会以子pom的版本号为主。




dependencyManagement的好处:

1、在一个多module的项目开发过程中,我们可以指定一个父pom,在父pom中引入dependencyManagement,然后将常用jar包的版本在父pom中做版本约束,这样强制约束子pom的jar包后,就不会导致各个项目之间因为jar包版本冲突而导致的不必要的麻烦了。

2、如果我们将来想对某个jar包的版本做升级的话,只用在父pom里修改版本即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值