已解决:guava报错,由jar包冲突引起

maven项目中引用了最新版的谷歌guava包

XML 复制代码
<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>33.1.0-jre</version>
</dependency>

编译没问题,然后运行时报错

java 复制代码
java.lang.NoSuchMethodError: 'int com.google.common.base.Preconditions.checkPositionIndex(int, int)

很明显是jar包冲突了,用idea自带的jar包依赖关系树看到是依赖传递导致的冲突,

尝试使用依赖排除和锁定版本都无法屏蔽冲突的版本,此时也花费不少时间,不想继续深挖

最后去仓库找了另外一个guava依赖的版本,就好了,只要目录结构不一样的话,就不会报那个NoSuchMethodError了

最终使用的版本:

XML 复制代码
        <dependency>
            <groupId>com.vaadin.external.google</groupId>
            <artifactId>guava</artifactId>
            <version>16.0.1.vaadin1</version>
        </dependency>
相关推荐
悟空码字8 小时前
别再让你的SpringBoot包"虚胖"了!这份瘦身攻略请收好
java·spring boot·后端
szm02258 小时前
操作系统-
java·linux·服务器
哆啦A梦15888 小时前
java项目在后端做跨域配置
java·vue3
用户8307196840828 小时前
从互斥锁到无锁,Java 20年并发安全进化史
java
盐水冰8 小时前
【烘焙坊项目】后端搭建(13)- 数据统计--图形报表
java·后端·学习·spring
易雪寒8 小时前
Java List 根据List中对象的属性值是否相同作为同一组,分割成多个连续的子List
java·数据结构·list·分组切割
小王不爱笑1328 小时前
Kubernetes(K8s)核心知识点
java
桑榆肖物8 小时前
.NET 10 Native AOT 在 Linux 嵌入式设备上的实战
java·linux·.net·aot
墨着染霜华8 小时前
Java实战:封装Redis非阻塞分布式锁,彻底解决表单重复提交主键冲突
java·redis·分布式
启山智软8 小时前
【使用 Java(JSP)实现的简单商城页面前端示例】
java·前端·商城开发