Sprintboot pom项目间接依赖的包的版本与预期不符

问题

Sprintboot pom项目间接依赖的包的版本与预期不符,间接依赖的版本应该为3.0.4,实际拿的却是2.1.0

场景

sprintboot项目A 版本2.1.5.Release
kafka的封装依赖包B,版本1.0.0,依赖于kafka版本3.0.4

项目A引入B后,kafka版本变成了2.1.0

原因

在pom.xml里定义了

 
        org.springframework.boot
        spring-boot-starter-parent
        2.1.5.RELEASE
         
    

相当于引入了spring-boot-starter-parent.pom


    org.springframework.boot
    spring-boot-dependencies
    2.1.5.RELEASE
    ../../spring-boot-dependencies
  

相当于引入了spring-boot-dependencies.pom

...

   ...
   2.0.1 
   ...


    
        ...
        
          org.apache.kafka
          kafka-clients
          ${kafka.version}
          
        ...
    

查看sprint官网 sprintboot对应kafka-clients版本
Sprintboot pom项目间接依赖的包的版本与预期不符_第1张图片

间接依赖的包的版本优先级没有parent里声明的高

解决方法

  1. 升级springboot版本到2.6.x以上
  2. pom.xml里指定kafka版本为3.0.4

你可能感兴趣的:(Sprintboot pom项目间接依赖的包的版本与预期不符)