Eclipse中执行Maven构建报错,命令行运行正常求助
问题定位与解决方案
核心原因
这个错误是因为Eclipse集成的Maven插件(m2e)依赖的Guava版本和项目中使用的Guava版本冲突,或者Eclipse本地仓库的依赖缓存出现异常。命令行Maven使用系统配置的独立环境,和Eclipse的Maven环境存在依赖加载逻辑差异,导致仅在Eclipse内执行Maven build时出现类找不到的问题。
具体解决步骤
清理并同步Eclipse Maven缓存
- 打开Eclipse,依次点击
Window > Preferences > Maven > User Settings - 点击
Update Settings,确保Eclipse使用和命令行一致的settings.xml配置 - 回到项目视图,右键项目选择
Maven > Update Project,勾选Force Update of Snapshots/Releases后点击确定
- 打开Eclipse,依次点击
统一Guava依赖版本并排除冲突
查看项目pom.xml,明确指定Guava的稳定版本(需包含缺失的InternalFutureFailureAccess类),示例:<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>32.1.3-jre</version> </dependency>执行命令行
mvn dependency:tree查看依赖树,若发现其他依赖引入低版本Guava,通过<exclusions>排除:<dependency> <groupId>xxx</groupId> <artifactId>xxx</artifactId> <version>xxx</version> <exclusions> <exclusion> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> </exclusion> </exclusions> </dependency>重置Eclipse Maven插件状态
- 关闭Eclipse,删除工作目录下的
.metadata/.plugins/org.eclipse.m2e.core文件夹 - 重启Eclipse后重新导入Maven项目
- 再次执行
Maven > Update Project刷新依赖
- 关闭Eclipse,删除工作目录下的
对齐Eclipse与命令行的Maven版本
- 打开
Window > Preferences > Maven > Installations - 添加命令行使用的Maven安装路径(替换Eclipse自带的Maven),并设置为默认
- 重启Eclipse后重新执行Maven build
- 打开
验证方式
完成上述步骤后,右键项目选择Run As > Maven build,输入目标命令(如clean package),查看控制台是否仍报错。若问题解决,即可确认是Eclipse的Maven环境或缓存问题导致的依赖加载异常。
内容的提问来源于stack exchange,提问作者Madhurjya Saha
相关产品推荐
相关产品推荐

