张伦聪的技术博客 Research And Development

Windows下通过maven命令解决jar包依赖冲突问题

2018-01-06

生成maven依赖树命令

  • 查询所有依赖树
    mvn dependency:tree -Dverbose --> tree.txt
    
  • 查询筛选条件ch.qos.logback所有依赖树
    mvn dependency:tree -Dverbose -Dincludes=ch.qos.logback --> tree.txt
    

结果每行都是一个jar包,根据缩进可以看到依赖的关系。

  1. 最后写着compile的就是编译成功的。
  2. 最后写着omitted for duplicate的就是有jar包被重复依赖了,但是jar包的版本是一样的。
  3. 最后写着omitted for conflict with xxxx的,说明和别的jar包版本冲突了,而该行的jar包不会被引入。比如上面有一行最后写着omitted for conflict with 1.1.8,那么该行其他版本jar包不会被引入,只有1.1.8版本的会被引入。

解决重复依赖和冲突的方法:

找到对应依赖包加上exclusion

<dependency>  
    <groupId>com.lz.lsf</groupId>  
    <artifactId>lsf-framework</artifactId>  
    <version>2.1.4-RELEASE</version>  
    <exclusions>  
        <exclusion>  
            <groupId>ch.qos.logback</groupId>  
            <artifactId>logback-classic</artifactId>  
        </exclusion>    
    </exclusions>  
</dependency>  

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

¥ 打赏博主

上一篇 rest api设计

下一篇 centos相关命令

留言