同一Maven依赖在双Eclipse实例中解析异常的求助
问题排查与解决方案
1. 检查Nexus仓库配置
- 确认Nexus是否代理了RedHat官方Maven仓库(
https://maven.repository.redhat.com/ga/),该仓库是RedHat定制版构件的官方源。若未添加,需在Nexus中新建代理仓库指向该地址,并将其加入仓库组。 - 检查Nexus镜像规则,避免所有请求被路由至不包含RedHat构件的仓库组,导致无法拉取
guava-parent:pom。
2. 强制替换为标准Guava版本
若无需RedHat定制版Guava,可在项目POM中排除该定制依赖,引入标准稳定版本:
<dependency> <groupId>au.com.dius</groupId> <artifactId>pact-jvm-provider-spring_2.12</artifactId> <version>3.5.24</version> <exclusions> <exclusion> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> </exclusion> </exclusions> </dependency> <!-- 引入标准Guava版本 --> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>31.1-jre</version> <!-- 可根据项目需求替换为适配版本 --> </dependency>
3. 清理缓存并重新同步
- 在Eclipse中执行
Project > Clean清理项目,右键项目选择Maven > Update Project(勾选Force Update of Snapshots/Releases)。 - 删除本地M2仓库中Guava相关目录:
~/.m2/repository/com/google/guava,让Maven重新从配置源拉取依赖。
4. 对比Eclipse实例的Maven配置
- 检查使用Nexus的Eclipse实例的
Window > Preferences > Maven > User Settings,确认settings.xml是否正确配置了Nexus仓库、镜像,以及是否包含RedHat仓库的访问权限。 - 对比两个实例的项目classpath,确认Nexus实例是否因仓库配置问题无法获取
guava-parent:pom构件。
5. 手动上传缺失构件至Nexus
若无法代理RedHat仓库或网络受限,可手动下载对应版本的com.google.guava:guava-parent:pom,上传至Nexus宿主仓库。
内容的提问来源于stack exchange,提问作者Cagin Uludamar
相关产品推荐
相关产品推荐

