替换spring-boot中的组件版本

spring-boot是一个用于简化开发的框架,引入spring-boot后会自动包含spring框架,通过引入xxx-start来完成指定组件的功能。比如:

  • spring-boot-starter-web(嵌入 Tomcat 和 web 开发需要的 servlet 和 jsp 支持)
  • spring-boot-starter-data-jpa(数据库支持)
  • spring-boot-starter-data-Redis(Redis 支持)
  • spring-boot-starter-data-solr(solr 搜索应用框架支持)
  • mybatis-spring-boot-starter(第三方 mybatis 集成 starter)

在使用spring-boot搭建应用时,引入了spring-boot-starter-parent后,为什么在pom.xml中加入其他依赖时通常不需要指定version?

此外,在spring-boot应用中,有时要修复某个组件的漏洞,需要指定组件的具体版本,这个该如何做呢?

以上两个疑问,底层逻辑是一样的。首先看下,spring-boot是在哪里指定了依赖的version?

在pom.xml中,我们将焦点放到了spring-boot-starter-parent本身上,

进去以后内容如下:

 

可以看到主要是build相关的信息,在最上面发现还有一个parent(spring-boot-dependencies),继续cmd+左键点击进去:

在这里有各种以来的版本定义。继续往下搜,在dependencyManagement节点下,引入了各种依赖:

在maven中dependencyManagement往往用在父项目中,管理统一(公共)的依赖,这样在子项目中可以使用dependency有选择性的继承。所以在我们项目的pom中可以不用指定version直接继承父pom.xml中的依赖了。

到这里其实已经解答了我们上面的两个疑问。如果要指定版本,我们只需要在项目的pom.xml中通过property配置对应的版本即可。例如:

<properties>
        <commons-codec.version>1.11</commons-codec.version>
</properties>

 注:更改依赖的版本,可能会遇到兼容性问题。

 

  • 22
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赶路人儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值