Maven 配置与命令

Maven settings.xml 文件 mirrors 节点 配置

  • 如果要使用 阿里云、腾讯云、华为云 等等国内厂商的 Maven 代理仓库,可以配置

    1. <id>aliyun</id>:必须唯一
    2. <mirrorOf>central,jcenter</mirrorOf>:代理仓库名称,支持使用 * 代理所有,常见的仓库名见:仓库服务
    3. <url>https://maven.aliyun.com/repository/public</url>:代理国内云厂商 Maven 代理地址,更多 Maven 地址见:Maven 仓库地址
    <mirrors>
      <mirror>
        <id>aliyun</id>
        <mirrorOf>central,jcenter</mirrorOf>
        <url>https://maven.aliyun.com/repository/public</url>
      </mirror>
    </mirrors>
    
  • 如果 Maven 项目中 pom.xml 文件使用了 <repositories>,可以在 settings.xml 文件 mirrors 节点添加与项目 pom.xml<repository><id>***</id> 相同的名字来覆盖 pom.xml<repository>,示例如下:

    1. GitHub - xuxiaowei-com-cn/spring-cloud-alibaba-example: Spring Cloud Alibaba 示例 · GitHub 仓库的 spring-cloud-2025.1.x 模块配置了:

      
      <repositories>
        <!-- 需要在 settings.xml 配置:
         <server>
           <id>github</id>
           <username>GitHub 用户名</username>
           <password>GitHub Token(需要 read:packages 权限)</password>
         </server>
         -->
        <repository>
          <id>github</id>
          <url>https://maven.pkg.github.com/alibaba/spring-cloud-alibaba</url>
          <releases>
            <enabled>false</enabled>
          </releases>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>
      
    2. 因为 GitHub Maven Package 无法匿名访问,需要在 settings.xml 文件中配置 GitHub Token(需要 read:packages 权限)

    3. 不想再工作电脑中配置个人 GitHub Token

    4. 作者自己搭建了一个 Nexus 服务,代理了 https://maven.pkg.github.com/alibaba/spring-cloud-alibaba ,地址:http://nexus.xuxiaowei.io:48081/repository/maven-github-spring-cloud-alibaba/

    5. 于是便可以在 settings.xml 中配置 mirrors,内容如下:

      <mirrors>
          <mirror>
              <id>aliyun</id>
              <mirrorOf>central,jcenter</mirrorOf>
              <url>https://maven.aliyun.com/repository/public</url>
          </mirror>
      
          <mirror>
              <!-- 当前文件唯一即可 -->
              <id>maven-github-spring-cloud-alibaba</id>
              <!-- 用于覆盖项目 pom.xml 中 <repository> 节点下同名的 <id> -->
              <mirrorOf>github</mirrorOf>
              <url>http://nexus.xuxiaowei.io:48081/repository/maven-github-spring-cloud-alibaba/</url>
          </mirror>
      
      </mirrors>
      
1 个赞