解决guava依赖版本冲突The following method did not exist:FluentIterable.class

解决分库分表依赖shardingsphere与swagger2之前的guava依赖版本冲突

冲突原因

<dependency>
    <groupId>io.shardingjdbc</groupId>
    <artifactId>sharding-jdbc-core</artifactId>
    <version>2.0.3</version>
</dependency>

上面pom导入的jar所以来版本guava版本为18.0

下面swagger2的jar所依赖guava版本为20.0

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.9.2</version>
</dependency>

解决冲突

将低版本的guava忽略掉(考虑高版本兼容低版本),代码如下,在shardingjdbc的pom中加入下面标签,来忽略该jar依赖的guava.

<dependency>
    <groupId>io.shardingjdbc</groupId>
    <artifactId>sharding-jdbc-core</artifactId>
    <version>2.0.3</version>
       <exclusions>
                <exclusion>
                    <groupId>com.google.guava</groupId>
                    <artifactId>guava</artifactId>
                </exclusion>
            </exclusions>
</dependency>

总结思路

适用于大多数这类冲突问题:

  1. 首先定位到出现冲突的原因----->guava版本冲突
  2. 确定冲突引起的原因位置------>swagger2与shardingjdbc
  3. 综合考虑方案----->屏蔽掉一个低版本

猜你喜欢

转载自blog.csdn.net/m0_47220500/article/details/105789770