Maven配置多仓库

发布时间 2023-04-10 11:12:03作者: 黑水滴

一、配置说明

<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  
  <!-- 本地仓库存储地址 -->
  <localRepository>/Users/test/.m2/repository</localRepository>

  <pluginGroups></pluginGroups>

  <!-- 代理配置 -->
  <proxies></proxies>

  <!-- 仓库需要验证账号密码的,在这里配置 -->
  <servers>
    <server>
      <id>Release</id>
      <username>账号</username>
      <password>密码</password>
    </server>
    <server>
      <id>Snapshot</id>
      <username>账号</username>
      <password>密码</password>
    </server>
  </servers>

  <!-- 单一库,用这个就行了。 这个虽然也可以配置多个,但是,它是第一个镜像挂了,才会找第二个。 不是多仓库的意思 -->
  <mirrors>
    <!-- 1、CDH加速镜像 -->
    <!-- <mirror> -->
      <!-- 多仓库配置时,用 profiles 配置,mirror需要注掉 -->
      <!-- 镜像唯一标识符 -->
      <!-- <id>cloudera</id> -->
      <!-- <name>cloudera_mirror</name> -->
      <!-- 构建系统会优先考虑使用该URL,而非使用默认的服务器URL -->
      <!-- <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url> -->
      <!-- 被镜像的服务器的id,为哪个repository配置的id做镜像 -->
      <!-- <mirrorOf>cdh</mirrorOf> -->
    <!-- </mirror> -->
  </mirrors>


  <!-- maven配置多仓库。使用顺序是倒序的,所以最流畅的写在最下面。 -->
  <profiles>
    <!-- 自己公司maven库 -->
    <profile>
      <id>gongsi</id>
      <repositories>
        <repository>
          <id>gongsi</id>
          <url>https://nexus.公司.com/repository/maven-public/</url>
          <!-- 能下载正式版本 -->
          <releases><enabled>true</enabled></releases>
          <!-- 能下载快照版本 -->
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
      </repositories>
    </profile>
    <!-- repo1仓库 -->
    <profile>
      <id>repo1</id>
      <repositories>
        <repository>
          <id>repo1</id>
          <url>https://repo1.maven.org/maven2</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
      </repositories>
    </profile>
    <!-- 阿里云 -->
    <profile>
      <id>aliyun</id>
      <repositories>
        <repository>
          <id>aliyun</id>
          <url>http://maven.aliyun.com/nexus/content/groups/public</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled><updatePolicy>always</updatePolicy></snapshots>
        </repository>
      </repositories>
    </profile>
  </profiles>
  <activeProfiles>
    <activeProfile>gongsi</activeProfile>
    <activeProfile>repo1</activeProfile>
    <activeProfile>aliyun</activeProfile>
  </activeProfiles>
</settings>