maven如何设置多仓库

1.Maven下载

下载地址:https://maven.apache.org/download.cgi#

2.本地解压到指定文件夹

eg:D:\maven

3.配置环境变量Path

4.新建本地maven仓库

仓库文件夹repo,即仓库地址为D:\maven\repo

5.修改conf下的settings.xml文件

注:文件名最好不要改动,偶尔会出现奇怪问题

localRepository:

本地仓库地址

<localRepository>D:\maven\repo</localRepository>

servers:

每个server代表一个远程仓库的授权信息,即私服的账号密码,可配置多个,通过id区分,id与下文repository保持一致

<servers>
    <server>  
      <id>privateRepository1</id>  
      <username>admin</username>  
      <password>admin</password>  
    </server>   
    <server>  
      <id>privateRepository2</id>  
      <username>admin</username>  
      <password>admin</password>  
    </server>
</servers>

mirrors:

仓库镜像,会将mirrorOf中匹配到的仓库重定向到当前url仓库,mirrorOf支持正则匹配,镜像一般作为备份仓库,用于加快获取所需包的效率,包含内容大于等于mirrorOf中的仓库,支持多个配置

  <mirrors>
    <mirror>
        <id>nexus-aliyun</id>
        <mirrorOf>*</mirrorOf>
        <name>Nexus aliyun</name>
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>
    </mirror>
    <mirror>
      <id>nexus</id>
      <mirrorOf>*</mirrorOf>
          <url>https://***.com/nexus/content/groups/public</url>
    </mirror> 
  </mirrors>

profiles:

profile-->repositories-->repository配置多个repository,当第一个仓库无法获取到jar包时,会向下依次遍历仓库寻找,仓库需要帐号密码时在servers标签配置,两个id保持一致

</profiles>
    <!-- 配置仓库参数。可配置多个  -->
    <profile>
      <id>myRepository</id>
      <repositories>
        <repository>
          <id>privateRepository1</id>
          <url>http://***.com/nexus/content/</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
        <repository>
          <id>privateRepository2</id>
          <url>http://***.com/nexus/content/</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
        <repository>
          <id>aliyunRepository</id>
          <url>http://***.com/nexus/content/</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
        <repository>
          <id>apacheRepository</id>
          <url>https://repo.maven.apache.org/maven2/</url>
          <releases><enabled>true</enabled></releases>
          <snapshots><enabled>true</enabled></snapshots>
        </repository>
      </repositories>
    </profile>
</profiles>

activeProfiles:

激活profiles中配置的仓库,activeProfile标签与profile的仓库地址保持一致

  <activeProfiles>
    <!-- 激活myRepository -->
    <activeProfile>myRepository</activeProfile> 
  </activeProfiles>

多仓库:

当profile-->repositories-->repository中配置多个仓库,多个仓库的账号密码都已
在servers-->server中配置完成(没有账号密码的不需要配置),且repository在activeProfiles中激活后,当前maven即可支持多仓库自动切换获取jar包

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容