Maven依赖冲突The following method did not exist

欢迎来到我的博客: http://chenb.in

起因

因将swagger升级到了2.9.2,再次启动项目时,爆出

The following method did not exist:

com.google.common.collect.FluentIterable.concat(Ljava/lang/Iterable;Ljava/lang/Iterable;)Lcom/google/common/collect/FluentIterable;

升级完依赖遇到这种什么方法找不到的,十有八九就是发生依赖冲突了

解决方式

在同事推荐下,下载来IDEA插件MavenHelper来解决问题

项目情况如下:

image-20210319092655363

我在模块A引入了Swagger,在admin模块下的pom.xml下,此时通过MavenHelper发现,冲突包为guava,此时需要20版本的guava包,但是maven找到的只有18.0

image-20210319094335639

因为maven肯定是会下载swagger所需要的包,但此时却找不到包,只有一种可能

整个项目使用了别的有着guava-18.0的jar包,而忽略了有着guava-20.0的这个包

因为项目自己选择了18.0但我们需要20.0,所以我选择直接排除guava-18.0这个依赖,再点击reimport

image-20210319094616954

此时在看其他模块,发现有个模块已经排除了guava-18这个依赖

image-20210319094725485

结束语

此时再启动项目,项目运行成功,但是上面这个模块原先运行着guava-18的依赖,现在强制给他升级到20.0,可能会有着别的问题,就像jdk升级版本会有各种问题一样

如果有问题的话还是可以使用那个万金油方法,回滚swagger依赖版本到2.7.0,毕竟能用就行,还要啥自行车

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值