zoukankan      html  css  js  c++  java
  • 项目中遇到的问题: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就会成功了!

  • 相关阅读:
    Redis命令
    Linux命令
    SQL语句
    Redis集群
    Redis主主复制、主从复制
    关于Java乱码
    组合, 封装, 访问限制机制, property装饰器, 多态
    继承
    小练习
    面向过程与面向对象, 类和对象
  • 原文地址:https://www.cnblogs.com/soul-wonder/p/9035956.html
Copyright © 2011-2022 走看看