后端——工具——构建工具——Maven——第八章节(Maven仓库)

  仓库分为两类,本地仓库,远程仓库。它们存储项目的依赖,插件。

  当项目添加相关依赖之后,首先在本地仓库中查找,若找不到,则到远程仓库查找,找到之后,会下载到本地,并根据相关的配置项决定更新策略。若无法找到,则抛错。 默认情况下,安装时,会在下创建.m2/repo<s目录,并将此作为本地仓库地址,可以在中编辑来自定义本地仓库地址

 <localRepository>local Repository path</localRepository>

  默认情况下,super-pom中定义了远程仓库地址,可以使用mvn help:effective-pom查看默认的远程仓库地址。有两种方式可以自定义远程仓库地址

  第一种方式,在setting.xml中配置mirrorsserver。示例如下

<mirror>
   <id>aliyun</id>
   <name>阿里云</name>
   <mirrorOf>central</mirrorOf>
   <url>http://maven.aliyun.com/nexus/content/groups/public</url>
 </mirror>

  也可以在profile中配置repositories和pluginReposities, 示例如下:

<profiles>
  <!-- 配置一组插件仓库和远程仓库-->
  <profile>
     <id>repo_name</id>
     <!-- repositories -->
     <repositories>
     </repositories>
     <!-- pluginRepositories -->
     <pluginRepositories>
     </pluginRepositories>
  <profile>

   <!-- 激活repo_name 配置项-->
   <activeProfiles>
      <activeProfile>repo_name</activeProfile>
  </activeProfiles>
</profiles>

  第二种方式,在项目的pom.xml中,配置repositoriespluginRepositories

<repository>
    <id>nexus-aliyun</id>
    <name>Nexus aliyun</name>
    <layout>default</layout>
 	<url>http://maven.aliyun.com/nexus/content/groups/public</url>
    <snapshots>
        <enabled>false</enabled>
    </snapshots>
    <releases>
        <enabled>true</enabled>
        <checksumPolicy>fail</checksumPolicy>
        <!-- 每天检查,自动更新jar包,在实际中不要设置 -->
        <updatePolicy>daily</updatePolicy>
    </releases>
</repository>

  l  name || ididname都是仓库的标识,区别是id具有唯一性

l  snapshots:依赖的Jar或插件有快照版和发布版两种, snapshots为快照版,它用于配置快照版相关的更新策略。enabled设置为false时,指本地仓库不会从远程仓库中下载快照版本,剩余的配置项只有在enabledtrue时才有意义。

l  releases:对应发布版,

  1.   updatePolicy指更新策略,它有四种值, daily表示每天更新;always表示实时更新,即远程仓库有新版本发布时,即更新;interval:X表示定时监测更新,X为大于0的整数,它的单位是分钟; never表示从不更新。

2.   checksumPolicy:个人理解,当本地仓库下载完成之后,它会校验,得出一个数值,并与远程进行比较,若不同,表示数据不完整。它有三种值,fail表示若不同时,下载失败;ignore表示若不同时,忽略,通常不建议;warn表示警告。

pluginRepositoriesrepositories的子标签元素是相同的。

当同时在setting.xmlsuper-pom.xmlpom.xml中配置了仓库时,它们的优先级如下:

setting.xml具有最高的优先级,子pom具有最高优先级,即super-pom.xml具有最低优先级。

原文地址:https://www.cnblogs.com/rain144576/p/14468741.html