pom.xml文件中关于私服仓库标签repositories、distributionManagement、pluginRepositories中的区别

maven是我们项目开发过程中常用的插件,有时候我们使用的不对会造成很多困扰,今天我分析一下主要标签的区别:

一、repositories 分析:

1、repositories中的字标签是repository 表示从什么库地址可以下载项目依赖的库文件,比如:

    <repositories>

        <repository>
            <id>crm-online</id>
            <url>http://maven.xxx/nexus/content/repositories/crm-online</url>
        </repository>
        
        <repository>
            <id>crm-snapshot</id>
            <url>http://maven.xxx/nexus/content/repositories/crm-t</url>
            <snapshots>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
            </snapshots>
        </repository>

    <repository>
      <id>nan-nexus</id>
      <name>Nexus</name>
      <url>http://nexus.argan.xyz/nexus/content/groups/public/</url>
      <releases>
          <enabled>true</enabled>
          <updatePolicy>always</updatePolicy>  
          <checksumPolicy>warn</checksumPolicy>  
      </releases>
      <snapshots>
          <enabled>true</enabled>  
          <updatePolicy>always</updatePolicy>  
          <checksumPolicy>warn</checksumPolicy>  
      </snapshots>
  </repository>

    </repositories>
 

2、repository中的字段说明如下:

id,库的ID
name,库的名称
url,库的URL
layout,在Maven 2/3中都是default,只有在Maven 1.x中才是legacy
releases,库中版本为releases的构件
snapshots,库中版本为snapshots的构件

enabled,是否支持更新
updatePolicy,构件更新的策略,可选值有daily, always, never, interval:X(其中的X是一个数字,表示间隔的时间,单位min),默认为daily
checksumPolicy,校验码异常的策略,可选值有ignore, fail, warn
layout,在Maven 2/3中都是default,只有在Maven 1.x中才是legacy

 

2、如果需要认证才能访问,则需要在settings.xml文件中添加如下内容,并且server中的id字段的值要与repository中id字段的值相同;如果有一个仓库需要验证

<servers>  
    <server>  
        <id>nan-nexus</id>  
        <username>admin</username>  
        <password>123456</password>  
     </server> 
</servers>
 

二、distributionManagement标签分析:

1、distributionManagement中的repository 表示的是项目打包成库文件后要上传到什么库地址,比如:

<distributionManagement>
        <repository><!--部署项目产生的构件到远程仓库需要的信息 -->
            <id>releases</id>
            <name>Release Deploy</name>
            <url>http://10.60.145.41:881/repository/maven-releases/</url>
        </repository>
        <snapshotRepository><!--构件的快照部署到哪里?如果没有配置该元素,默认部署到repository元素配置的仓库,参见distributionManagement/repository元素 -->
            <id>snapshot</id>
            <name>Snapshot Deploy</name>
            <url>http://10.60.145.41:881/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>
 

2、与repositories中的repository不同的是,distributionManagement中分为repository和snapshotRepository,但里面的字段大致与repositories中的repository内的相同。同样,如果访问需要认证的话,也需要在settings.xml文件中设置:

<servers>  
    <server>  
        <id>releases</id>  
        <username>admin</username>  
        <password>123456</password>  
     </server>  
    <server>  
        <id>snapshots</id>  
        <username>admin</username>  
        <password>123456</password>  
    </server>  
</servers>
 

三、pluginRepositories标签解析

1、pluginRepositories中的repository,pluginRepositories中的repository是以pluginRepository表示的,它表示插件从什么库地址下载。

<pluginRepositories>
  <pluginRepository>
      <id>nexus</id>
      <name>Nexus</name>
      <url>http://127.1.19.1:8081/repository/ai-public/</url>
      <releases>
          <enabled>true</enabled>
          <updatePolicy>always</updatePolicy>  
          <checksumPolicy>warn</checksumPolicy>  
      </releases>
      <snapshots>
          <enabled>true</enabled>  
          <updatePolicy>always</updatePolicy>  
          <checksumPolicy>warn</checksumPolicy>  
      </snapshots>
  </pluginRepository>
</pluginRepositories>
 

2、它里面的字段和用法与repositories中的repository基本一致。

 到此关于仓库的标签分析完毕。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寅灯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值