Maven 3.0.3升级至3.9.9后依赖解析失败求助
解决方案
以下是针对你的问题的具体排查和解决步骤:
确认私有仓库镜像的全局覆盖配置
检查你的settings.xml(通常在~/.m2/或Maven安装目录的conf/下),确保镜像规则覆盖所有仓库请求,避免部分依赖绕过私有仓库走中央仓库。配置示例:<mirrors> <mirror> <id>private-mirror</id> <!-- 覆盖所有仓库请求,包括中央仓库、第三方仓库等 --> <mirrorOf>*</mirrorOf> <url>https://你的私有仓库地址/repository/maven-public/</url> </mirror> </mirrors>注意:如果私有仓库未代理所有必要的源(比如Maven Central),需要先在私有仓库后台配置代理同步netty-bom所在的源,确保私有仓库中存在该依赖的完整元数据。
排查依赖POM的硬编码仓库配置
检查org.infinispan:infinispan-core:9.3.0.Final的POM文件,确认其中是否包含<repositories>或<pluginRepositories>标签直接指定了Maven Central。如果有这类硬编码配置,需要在settings.xml中添加镜像规则覆盖外部仓库:<mirror> <id>private-mirror</id> <!-- 覆盖所有外部仓库请求,排除本地仓库 --> <mirrorOf>external:*</mirrorOf> <url>https://你的私有仓库地址/repository/maven-public/</url> </mirror>清理本地仓库缓存并强制更新
本地仓库中可能存在旧的依赖元数据,导致Maven仍尝试访问旧仓库地址。执行以下命令清理缓存并强制拉取最新依赖信息:mvn clean install -U-U参数会强制Maven更新所有依赖的快照和发布版元数据,确保从私有仓库获取最新的依赖路径。验证项目级仓库配置
检查项目根目录的pom.xml,确保其中只配置了私有仓库,没有多余的中央仓库或其他外部仓库配置:<repositories> <repository> <id>private-repo</id> <url>https://你的私有仓库地址/repository/maven-public/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories>强制指定仓库参数执行构建
如果上述配置仍未生效,可以在构建命令中直接指定私有仓库地址,强制Maven从该仓库拉取所有依赖:mvn clean install -Dmaven.repo.remote=https://你的私有仓库地址/repository/maven-public/
内容的提问来源于stack exchange,提问作者Nishit Jain
相关产品推荐
相关产品推荐

