Maven Site插件忽略自定义仓库,请求官方仓库报错求助
解决Maven Site插件忽略自定义仓库的问题
1. 给Site插件显式配置仓库
在项目pom.xml中,为maven-site-plugin添加专属的仓库配置,强制它拉取依赖时使用你的自定义仓库:
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>3.7.1</version> <configuration> <!-- 配置构件仓库 --> <repositories> <repository> <id>你的自定义仓库ID</id> <url>你的自定义仓库URL</url> <releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </repository> </repositories> <!-- 配置插件仓库(Site插件依赖的报告插件走这里) --> <pluginRepositories> <pluginRepository> <id>你的自定义仓库ID</id> <url>你的自定义仓库URL</url> <releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </pluginRepository> </pluginRepositories> </configuration> </plugin> </plugins> </build>
该配置会覆盖Site插件默认的仓库选择逻辑,强制它从指定仓库拉取所需构件。
2. 在settings.xml中全局路由所有请求到自定义仓库
如果插件级配置无效,可以通过settings.xml完全屏蔽中央仓库,并将所有请求转发到你的自定义仓库:
<settings> <mirrors> <mirror> <id>自定义仓库镜像</id> <mirrorOf>*</mirrorOf> <url>你的自定义仓库URL</url> </mirror> </mirrors> <profiles> <profile> <id>disable-central</id> <activation><activeByDefault>true</activeByDefault></activation> <repositories> <repository> <id>central</id> <url>http://repo.maven.apache.org/maven2</url> <releases><enabled>false</enabled></releases> <snapshots><enabled>false</enabled></snapshots> </repository> <repository> <id>你的自定义仓库ID</id> <url>你的自定义仓库URL</url> <releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </repository> </repositories> <pluginRepositories> <pluginRepository> <id>central</id> <url>http://repo.maven.apache.org/maven2</url> <releases><enabled>false</enabled></releases> <snapshots><enabled>false</enabled></snapshots> </pluginRepository> <pluginRepository> <id>你的自定义仓库ID</id> <url>你的自定义仓库URL</url> <releases><enabled>true</enabled></releases> <snapshots><enabled>true</enabled></snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> </settings>
<mirrorOf>*</mirrorOf>会把所有仓库请求路由到你的自定义仓库,同时禁用中央仓库的访问权限,彻底阻止Site插件绕过配置请求官方仓库。
3. 定位缺失的构件并针对性处理
执行mvn site:site -X查看完整调试日志,找到具体触发中央仓库请求的构件/插件版本,然后:
- 手动将对应版本的构件安装到本地仓库
- 确认你的自定义仓库已配置代理该构件的来源仓库
内容的提问来源于stack exchange,提问作者maf123sp
相关产品推荐
相关产品推荐

