Maven:repositories、distributionManagement、pluginRepositories中repository的区别

目录

一、repositories中的repository

二、distributionManagement中的repository

三、pluginRepositories中的repository


一、repositories中的repository

表示从什么库地址可以下载项目依赖的库文件,比如:


 
      nexus
      Nexus
      http://nexus.argan.xyz/nexus/content/groups/public/
     
          true
          always  
          warn  
     

     
          true  
          always  
          warn  
     

 

 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

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

 
      
        nexus  
        admin  
        admin123  
    
 

二、distributionManagement中的repository

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


    
        false
        releases
        Corporate Repository
        scp://repo/maven2
        default
    

    
        true
        snapshots
        Propellors Snapshots
        sftp://propellers.net/maven
        legacy
    

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

 
      
        releases  
        admin  
        admin123  
    
 
      
        snapshots  
        admin  
        admin123  
    
 

三、pluginRepositories中的repository

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


 
      nexus
      Nexus
      http://10.21.7.1:8081/repository/ai-public/
     
          true
          always  
          warn  
     

     
          true  
          always  
          warn  
     

 

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

 

参考文档

maven的mirror和repository加载顺序

你可能感兴趣的:(Maven,Java,repository)