maven依赖后版本号变了,Maven dependencyManagement中的依赖版本会覆盖传递依赖版本

文章讲述了Maven的dependencymanagement机制,允许项目作者指定遇到的无版本或传递依赖的版本。在SpringBoot的默认配置中,dependencyManagement用于锁定mysql-connector的版本为8.0.21。为解决依赖版本问题,可以在parentpom文件中明确设定mysql-connector的版本。
摘要由CSDN通过智能技术生成

问题现象

问题原因:

在Maven官方文档中Introduction to the Dependency Mechanism有一段话:

  1. Dependency management - this allows project authors to
  2. directly specify the versions of artifacts to be used
  3. when they are encountered in transitive dependencies or
  4. in dependencies where no version has been specified.

大概意思是:
pom文件中没有指定版本的依赖或是传递的依赖,如果在dependencyManagement中有指定此依赖版本,那就使用dependencyManagement中定义的版本号。

所以springboot默认配置文件中用dependencyManagement帮我们锁定了8.0.21版本的mysql-connector

(查看默认springboot配置文件参考:

在任一pom文件加上这段,然后ctrl鼠标左键点spring-boot-dependencies进去就看到了

        <dependency>

            <groupId>org.springframework.boot</groupId>

            <artifactId>spring-boot-dependencies</artifactId>

            <version>2.3.2.RELEASE</version>

        </dependency>

简单查询SpringBoot默认插件版本号_springboot插件版本_Building-ui的博客-CSDN博客

解决办法:

在parent pom文件中锁定mysql-connector版本

 

参考文献

Maven dependencyManagement中的依赖版本会覆盖传递依赖版本-蒲公英云

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值