全部学科
Python全栈
python
NodeJS全栈
nodejs
📅 2026-05-23 5 分钟 ✍️ juanwangdev

远程仓库声明

POM 中声明项目需要的远程仓库,补充默认中央仓库。

repositories 声明

基本结构

XML
<repositories>
  <repository>
    <id>company-repo</id>
    <name>Company Repository</name>
    <url>https://nexus.company.com/repository/maven-public/</url>
    <releases>
      <enabled>true</enabled>
    </releases>
    <snapshots>
      <enabled>true</enabled>
    </snapshots>
  </repository>
</repositories>

repository 元素说明

元素说明
id仓库唯一标识(必填)
name仓库名称
url仓库地址(必填)
releases正式版是否启用
snapshots快照版是否启用

releases/snapshots 配置

XML
<repository>
  <id>snapshots-repo</id>
  <url>https://repo.example.com/snapshots</url>
  <snapshots>
    <enabled>true</enabled>
    <updatePolicy>daily</updatePolicy>
    <checksumPolicy>warn</checksumPolicy>
  </snapshots>
  <releases>
    <enabled>false</enabled>
  </releases>
</repository>

配置项说明

元素说明
enabled是否启用
updatePolicy更新检查频率
checksumPolicy校验和策略

updatePolicy 值

说明
always每次构建检查
daily每日检查
interval:X每 X 分钟检查
never不检查

checksumPolicy 值

说明
ignore忽略校验
warn校验失败警告
fail校验失败报错

pluginRepositories

插件仓库声明:

XML
<pluginRepositories>
  <pluginRepository>
    <id>company-plugin</id>
    <url>https://nexus.company.com/repository/maven-public/</url>
  </pluginRepository>
</pluginRepositories>

常用远程仓库

Spring 仓库

XML
<repository>
  <id>spring-repo</id>
  <url>https://repo.spring.io/release</url>
</repository>

Spring Milestone

XML
<repository>
  <id>spring-milestone</id>
  <url>https://repo.spring.io/milestone</url>
</repository>

JBoss 仓库

XML
<repository>
  <id>jboss</id>
  <url>https://repository.jboss.org/nexus/content/groups/public/</url>
</repository>

仓库认证配置

settings.xml 配置认证

XML
<settings>
  <servers>
    <server>
      <id>company-repo</id>  <!-- 与 repository id 对应 -->
      <username>admin</username>
      <password>password123</password>
    </server>
  </servers>
</settings>

认证元素说明

元素说明
id对应 repository 的 id
username用户名
password密码

settings.xml 中配置仓库

XML
<settings>
  <profiles>
    <profile>
      <id>extra-repos</id>
      <repositories>
        <repository>
          <id>company-repo</id>
          <url>https://nexus.company.com/repository/maven-public/</url>
        </repository>
      </repositories>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>extra-repos</activeProfile>
  </activeProfiles>
</settings>

仓库优先级

查找顺序

Bash
1. 本地仓库
2. settings.xml 中的镜像
3. settings.xml 中 profile 的仓库
4. pom.xml 中的仓库
5. 中央仓库(超级 POM)

同一构件多仓库

text
先找到的仓库优先
按声明顺序查找

验证仓库配置

text
mvn dependency:tree -X
mvn help:effective-pom

要点总结

  • repositories 在 POM 中声明远程仓库
  • id 必填,与 settings.xml 认证配置对应
  • releases/snapshots 控制版本类型启用
  • 认证信息在 settings.xml 的 servers 中配置
  • 仓库优先级:本地→镜像→profile→pom→中央
想在手机上练习这篇文章的配套题目?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一篇 中央仓库与镜像配置
下一篇 → 快照仓库行为
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码