详解<packaging>pom</packaging>以及dependencyManagement项目依赖问题

详解< packaging>pom以及项目依赖问题

在父级项目中的pom.xml文件使用的packaging配置一定为pom。父级的pom文件只作项目的子模块的整合,在maven install时不会生成jar/war压缩包。
在这里插入图片描述

可以看到我这里就是pom方式,如果不手动声明,则springboot或springcloud会以jar包的方式进行打包。
在父级的pom文件中可以看见,有一个properties标签这里申明了很多版本就理解为变量,而在dependencyManagement标签中的version标签引用了该变量,即该依赖是使用的版本是该变量的值。
**注意:**值得注意的是我们虽然在父级的pox文件中虽然引入了依赖,但是maven并不会给我们下载相应的jar包,这里只是起到了声明作用,只有在子项目中使用了该依赖才会真正的将依赖引入进来,实例如下
在这里插入图片描述
细心的同学会发现在子项目的pom文件中并没有申明依赖版本,注意左边有一个向上的箭头,当我们点击之后会跳转到父级的pom文件中。
在这里插入图片描述
不难发现,当我们父项目申明了依赖版本之后,子项目可以不声明版本,具体的依赖顺序如下:
Maven引入依赖使用最短路径原则,例如a<–b<–c1.0 ,d<–e<–f<–c1.1,由于路径最短,最终引入的为c1.0;但路径长度相同时,则会引入先申明的依赖简而言之我离谁最近我就引入谁的版本,我离谁申明版本最近我就引入谁的版本。

这样做的好处是:当我们项目需要修改依赖版本时,就不需要给每个子项目挨着修改了,只需要修改夫项目的版本即可全部修改,非常的方便

但是如果我们的子项目想要引入不同的依赖版本不跟父项目一样应该怎么办呢?很简单:只需要手动加上版本即可如下
在这里插入图片描述
在这里插入图片描述

水激石则鸣,人激志则宏!!!

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值