项目中遇到的问题:Gradle传递性依赖冲突

问题描述:

  在调用别人接口时,由于他们接口做了拦截处理在使用RestTemplate调用时必须要使用@Qualifier("他们封装好的类"),需要导入jar包

gradle方式导入:

compile '组织名称:库的名称:版本'

  但是,导入之后,进行build时总是失败,

  打开eclipse下gradle tasks---》下面的help--》dependencies,执行任务,依赖树会打印出来,依赖树显示了你build脚本声明的顶级依赖和它们的传递依赖:

  片段:

+--- org.springframework:spring-web:3.0.7.RELEASE -> 4.3.0

  我们依赖的是3.0版本的,二他们依赖的是4.0版本的,由于默认情况下会优先高版本的依赖库,所以我们的项目会有报错,这是就需要解决依赖冲突

解决:

我们的spring版本

ext{
    springVersion = '3.0.7.RELEASE'
}
compile "org.springframework:spring-web:${springVersion}"

手动排除依赖:

    compile ('group:name:version'){
        exclude module: 'spring-web'
    }

  之后再打开dependencies,发现:

+--- org.springframework:spring-web:3.0.7.RELEASE (*)

  仔细观察会发现有些传递依赖标注了(*)号,表示这个依赖被忽略了

  重新build就会成功了!

发布了449 篇原创文章 · 获赞 2 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_37769323/article/details/104706328