maven 隐式依赖引起的包冲突解决办法

 更新时间:2016年12月31日 11:22:05   投稿:lqh  
这篇文章主要介绍了maven 隐式依赖引起的包冲突解决办法的相关资料,需要的朋友可以参考下

包冲突

1.使用maven管理项目时可能会遇到包冲突的情况比如:log4j-over-slf4j.jar 和 slf4j-log4j12.jar这两个包同时一起运行时就会有问题。

2.这种冲突可能是显式依赖导致,也可能是隐式依赖导致。

显式依赖,直接可以从pom.xml文件的<dependency>中看到两个冲突包的引用。

隐式依赖,在pom.xml的<dependency>无法看到冲突的包,而是由<dependency>引入的包间接引入的。

解决

先确认哪些依赖间接引入了包。使用mvn dependency:tree查看整个项目的依赖树,这里能看到所有的依赖,包括间接依赖。
结果类似如下:

[INFO] +- junit:junit:jar:4.12:test
[INFO] | \- org.hamcrest:hamcrest-core:jar:1.3:test
[INFO] +- org.apache.storm:storm-core:jar:1.0.2:provided
[INFO] | +- com.esotericsoftware:kryo:jar:3.0.3:compile
[INFO] | | \- com.esotericsoftware:minlog:jar:1.3.0:compile
[INFO] | +- org.clojure:clojure:jar:1.7.0:provided
[INFO] | +- com.lmax:disruptor:jar:3.3.2:provided
[INFO] | +- org.apache.logging.log4j:log4j-api:jar:2.1:provided
[INFO] | +- org.apache.logging.log4j:log4j-core:jar:2.1:provided
[INFO] | +- org.apache.logging.log4j:log4j-slf4j-impl:jar:2.1:provided
[INFO] | +- org.slf4j:log4j-over-slf4j:jar:1.6.6:provided
[INFO] | +- javax.servlet:servlet-api:jar:2.5:provided
[INFO] | \- org.slf4j:slf4j-api:jar:1.7.7:compile
[INFO] +- com.aaa.khala:aaa-khala-insight-sdk-transfer-api:jar:1.0.0-SNAPSHOT:compile
[INFO] | \- com.aaa.khala:aaa-khala-common:jar:1.0.0-SNAPSHOT:compile
[INFO] |   +- javax.mail:javax.mail-api:jar:1.5.5:compile
[INFO] |   +- cglib:cglib:jar:2.2.2:compile
[INFO] |   +- org.aspectj:aspectjrt:jar:1.7.4:compile
[INFO] |   +- org.aspectj:aspectjweaver:jar:1.7.4:runtime
[INFO] |   +- org.javassist:javassist:jar:3.20.0-GA:compile
[INFO] |   +- log4j:log4j:jar:1.2.17:compile
[INFO] |   +- org.slf4j:slf4j-log4j12:jar:1.7.7:compile
[INFO] |   +- dom4j:dom4j:jar:1.6.1:compile
[INFO] |   +- jaxen:jaxen:jar:1.1.6:compile
[INFO] |   +- commons-collections:commons-collections:jar:3.2.1:compile
[INFO] |   +- commons-codec:commons-codec:jar:1.9:compile
[INFO] |   +- commons-beanutils:commons-beanutils:jar:1.9.2:compile
[INFO] |   +- org.apache.commons:commons-compress:jar:1.6:compile
[INFO] |   | \- org.tukaani:xz:jar:1.4:compile

查到冲突包对应的依赖,在pom.xml的<dependency>中配置排除,就不会引入该包了,例如:

<dependency>
  <groupId>com.aaa.khala</groupId>
  <artifactId>aaa-khala-insight-sdk-transfer-api</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <exclusions> 
    <exclusion> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-log4j12</artifactId> 
    </exclusion> 
  </exclusions>
</dependency>  

 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • springboot + mybatis + druid + 多数据源的问题详解

    springboot + mybatis + druid + 多数据源的问题详解

    这篇文章主要介绍了springboot + mybatis + druid + 多数据源的问题详解,示例代码文字相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-09-09
  • 异常解决SpringBoot项目启动卡住,无任何异常信息问题

    异常解决SpringBoot项目启动卡住,无任何异常信息问题

    这篇文章主要介绍了异常解决SpringBoot项目启动卡住,无任何异常信息问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • 3分钟快速搞懂Java的桥接方法示例

    3分钟快速搞懂Java的桥接方法示例

    这篇文章主要介绍了3分钟快速搞懂Java的桥接方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • 基于Quartz定时调度任务(详解)

    基于Quartz定时调度任务(详解)

    下面小编就为大家带来一篇基于Quartz定时调度任务(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • Graceful Response 构建 Spring Boot 响应处理的方法

    Graceful Response 构建 Spring Boot 响应

    Graceful Response是一个Spring Boot技术栈下的优雅响应处理器,提供一站式统一返回值封装、全局异常处理、自定义异常错误码等功能,本文介绍Graceful Response 构建 Spring Boot 下优雅的响应处理,感兴趣的朋友一起看看吧
    2024-01-01
  • mybatis查询语句揭秘之参数解析

    mybatis查询语句揭秘之参数解析

    这篇文章主要给大家介绍了关于mybatis查询语句之参数解析的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用mybatis具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • Java实现网络数据提取所需知识点

    Java实现网络数据提取所需知识点

    这篇文章主要介绍了Java实现网络数据提取所需知识点,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Java多线程中的死锁详解

    Java多线程中的死锁详解

    这篇文章主要介绍了Java多线程中的死锁详解,死锁是指两个或多个线程在执行过程中,因争夺资源而造成的一种互相等待的现象,如果不提前预防或外界干扰,这些线程将无法执行下去,需要的朋友可以参考下
    2023-08-08
  • java信号量控制线程打印顺序的示例分享

    java信号量控制线程打印顺序的示例分享

    这篇文章主要介绍了java信号量控制线程打印顺序的示例,如ABCABC这样输出线程,大家参考使用吧
    2014-01-01
  • springboot中通过lua脚本来获取序列号的方法

    springboot中通过lua脚本来获取序列号的方法

    这篇文章主要介绍了springboot中通过lua脚本来获取序列号的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06

最新评论