You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 11:22:27