idea查找jar包版本冲突并解决

42 篇文章 1 订阅
15 篇文章 0 订阅

参考:https://blog.csdn.net/u014071434/article/details/79394491
参考:https://blog.csdn.net/noaman_wgs/article/details/81137893

使用idea查看有冲突的maven项目的pom文件,右键Diagrams->Show Dependencies,显示依赖如下
在这里插入图片描述显示红线表示这个guava包存在多个版本冲突
在这里插入图片描述
经过分析发现swagger引入的是com.google.guava:guava:20.0
在这里插入图片描述
sharding-jdbc引入的是com.google.guava:guava:18.0
在这里插入图片描述
运行时报错,大概意思是方法不存在,并且加载的包是guava-18.0.jar
在这里插入图片描述日志级别改成debug,可以看到java.lang.NoSuchMethodError
在这里插入图片描述
解决方案

1、移除依赖:用于排除某项依赖的依赖jar包

把低版本的jar依赖排除掉

<dependency>
            <groupId>org.apache.shardingsphere</groupId>
            <artifactId>sharding-jdbc-spring-boot-starter</artifactId>
            <!-- 引入依赖的但排除一下guava依赖 -->
            <exclusions>
                <exclusion>
                    <groupId>com.google.guava</groupId>
                    <artifactId>guava</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
2、版本锁定:一般用在继承项目的父项目的pom文件中
<dependencyManagement>
        <dependencies>
        	<!-- 指定guava版本为20.0 -->
        	<dependency>
                <groupId>com.google.guava</groupId>
                <artifactId>guava</artifactId>
                <version>20.0</version>
            </dependency>
		</dependencies>
</dependencyManagement>
  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值