zoukankan      html  css  js  c++  java
  • Maven:repositories、distributionManagement、pluginRepositories中repository的区别

    本文链接:https://blog.csdn.net/netyeaxi/article/details/95804076

    目录

    一、repositories中的repository

    二、distributionManagement中的repository

    三、pluginRepositories中的repository


    一、repositories中的repository

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

    <repositories>
      <repository>
          <id>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>

     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字段的值相同

    <servers>  
        <server>  
            <id>nexus</id>  
            <username>admin</username>  
            <password>admin123</password>  
         </server> 
    </servers>

    二、distributionManagement中的repository

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

    <distributionManagement>
        <repository>
            <uniqueVersion>false</uniqueVersion>
            <id>releases</id>
            <name>Corporate Repository</name>
            <url>scp://repo/maven2</url>
            <layout>default</layout>
        </repository>
        <snapshotRepository>
            <uniqueVersion>true</uniqueVersion>
            <id>snapshots</id>
            <name>Propellors Snapshots</name>
            <url>sftp://propellers.net/maven</url>
            <layout>legacy</layout>
        </snapshotRepository>
    </distributionManagement>

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

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

    三、pluginRepositories中的repository

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

    <pluginRepositories>
      <pluginRepository>
          <id>nexus</id>
          <name>Nexus</name>
          <url>http://10.21.7.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>

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

    参考文档

    maven的mirror和repository加载顺序

     
  • 相关阅读:
    关于WPF中Popup控件的小记
    javascript调用外部wpf的方法
    html+ashx 缓存问题
    『Linux学习笔记』8. 权限
    LeetCode 2.两数相加
    C# 标签打印示例 1
    检索COM 类工厂中CLSID 为 {0002450000000000C000000000000046}的组件时失败
    C# 文件操作(一)
    Nginx 事件基本处理流程分析
    Spring学习笔记1:概论
  • 原文地址:https://www.cnblogs.com/kelelipeng/p/11734779.html
Copyright © 2011-2022 走看看