企业Nexus环境下Maven项目无法解析com.google.guava依赖求助
清理本地Maven失效缓存
找到本地仓库中Guava相关目录(一般是~/.m2/repository/com/google/guava),直接删除整个文件夹;再删除com/github/rholder/guava-retrying目录,避免间接依赖的缓存残留。之后执行强制更新命令:mvn clean install -U。核对Maven仓库配置
打开项目pom.xml,检查或 是否正确指向企业Nexus的 maven-public-int仓库;对比同工作区正常项目的pom配置,确保仓库地址、权限完全一致;同时检查本地~/.m2/settings.xml,确认镜像规则没有把Nexus的请求转发到其他不可用仓库。验证Nexus依赖完整性
在Nexus中搜索com.google.guava:guava-parent:31.1.0.redhat-00001,确认该POM文件存在且可直接下载(点击Nexus内的下载链接测试);检查maven-public-int仓库是否包含完整的Guava依赖链(guava-parent -> guava),避免依赖断链。强制控制Guava版本或排除冲突依赖
可以在项目pom中给Pact依赖添加排除规则,去掉间接引入的guava-retrying:<dependency> <groupId>au.com.dius.pact.provider</groupId> <artifactId>junit</artifactId> <version>4.4.2</version> <exclusions> <exclusion> <groupId>com.github.rholder</groupId> <artifactId>guava-retrying</artifactId> </exclusion> </exclusions> </dependency>或者直接声明一个Nexus中存在的稳定Guava版本,覆盖间接依赖:
<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>31.1-jre</version> <!-- 替换为企业Nexus可用的版本 --> </dependency>Eclipse工作区层面排查
右键项目→Maven→Update Project,勾选"Force Update of Snapshots/Releases"后确认;执行Project→Clean清理项目后重新构建;检查Window→Preferences→Maven→Installations,确保当前项目使用的Maven版本和settings.xml与正常项目一致。
内容的提问来源于stack exchange,提问作者Cagin Uludamar

