Maven执行mvn package报com.google.common.collect包不存在问题咨询
Guava依赖Maven打包报错排查方案
核心原理:Eclipse的手动构建路径配置和Maven的构建依赖体系相互独立,Eclipse可正常导入仅代表本地IDE类路径加载了你手动添加的jar包,不代表Maven执行打包命令时的类路径包含正确的Guava依赖,可按以下步骤逐一排查:
- 检查pom中Guava依赖的范围配置:如果依赖下声明了
<scope>provided</scope>或<scope>test</scope>,Maven编译打包阶段不会引入该依赖,删除scope标签默认使用compile范围即可。 - 检查是否存在Guava排除规则:排查同项目其他依赖的传递依赖配置,确认没有通过
<exclusion>标签主动过滤Guava的规则,如有删除对应排除配置即可。 - 统一Guava版本并强制更新依赖:你pom中配置的Guava版本为11.0.2,手动导入的是31.0.1版本,两个版本类结构存在差异,先将pom中的Guava版本统一修改为31.0.1,再执行
mvn clean install -U强制拉取对应版本的依赖到本地Maven仓库。 - 同步Maven配置到Eclipse:右键项目依次选择Maven → Update Project,勾选
Force Update of Snapshots/Releases选项,将pom的依赖配置同步到IDE构建路径。 - 移除手动添加的jar包:删除Eclipse构建路径中手动导入的Guava jar,完全通过Maven管理依赖,避免多版本类冲突。
- 清理残留编译缓存:执行打包命令前先执行
mvn clean彻底清空target目录,避免旧缓存导致的编译报错。
内容的提问来源于stack exchange,提问作者Alan
相关产品推荐
相关产品推荐

