spring maven引入的jar包冲突解决办法

对于一个spring项目,随着功能的增多,我们引入的jar包会越来越多,然而更多的引用会造成更高的jar引用冲突的可能性。俗话说常在河边走,哪能不湿鞋,既然鞋已湿。。。不要跑题,那就想办法解决。

既然可以确定是jar包冲突,那么我们排除一个jar包即可。

问题的关键就两个:

1、怎么排除一个jar包?

2、怎么知道是哪些dependency里面的jar包冲突了?

先说第一个问题:

排除dependency中的jar包(代码红色部分)

<dependency>
     <groupId>XXX</groupId>
     <artifactId>XXX</artifactId>

     <version>3.4.8</version>
     <!--排除这个slf4j-log4j12-->
     <exclusions>
            <exclusion>
                <groupId>org.slf4j</groupId>
                <artifactId>slf4j-log4j12</artifactId>
            </exclusion>
      </exclusions>

</dependency>

再说第二个问题:

首先通过编译报错知道是哪个包报错了,然后通过编码工具idea查看冲突引用

spring maven引入的jar包冲突解决办法

在弹出框中搜索slf4j-log4j12

spring maven引入的jar包冲突解决办法

如上图我们可以找到是zookeeper中引用的冲突了,那么就把zookeeper的dependence中排除slf4j-log4j12即可。

文章参考了https://blog.csdn.net/wohaqiyi/article/details/81009689,查看原文请点击这里。