全部学科
NodeJS全栈
nodejs
Python全栈
python
小程序首页
📅 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→中央

📝 发现内容有误?点击此处直接编辑

← 上一篇 本地仓库与缓存机制
下一篇 → mvn archetype:generate
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库