亲宝软件园·资讯

展开

Maven 远程仓库 Maven之远程仓库的配置详解

N!CE波 人气:0
想了解Maven之远程仓库的配置详解的相关内容吗,N!CE波在本文为您仔细讲解Maven 远程仓库的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:Maven,远程仓库,下面大家一起来学习吧。

在很多情况下,默认的中央仓库无法满足项目的需求,可能项目需要的构件存在于另外一个远程仓库中,如Company Maven仓库。这时,可以在项目POM中或maven的settings.xml中配置该仓库

<repositories>
  <repository>
    <id>company</id>
    <name>Company Repository</name>
    <url>http://repository.company.com/maven2/</url>
    <releases>
      <enabled>true</enabled>
    </releases>
    <snapshots>
      <enabled>false</enabled>
    </snapshots>
    <layout>default</layout>
  </repository>
</repositories>

  在repositories元素下,可以使用repository子元素声明一个或者多个远程仓库。该例中声明了一个id为company,名称为Company Repository的仓库。任何一个仓库声明的id必须是唯一的,尤其需要注意的是,Maven自带的中央仓库使用的id为central,如果其他的仓库声明也使用该id,就会覆盖中央仓库的配置。该配置中的url值指向了仓库的地址,一般来说,该地址都基于http协议,Maven用户都可以在浏览器中打开仓库地址浏览构件。

    该例配置中的releases和snapshots元素比较重要,它们用来控制Maven对于发布版构件和快照版构件的下载。

    这里需要注意的是enabled子元素,该例中releases的enabled值为true,表示开启Company仓库的发布版本下载支持,而snapshots的enabled值为false,表示关闭Company仓库的快照版本的下载支持。因此,根据该配置,Maven只会从Company仓库下载发布版的构件,而不会下载快照版的构件。该例中的layout元素值default表示仓库的布局是Maven 2及Maven 3的默认布局,而不是Maven 1的布局。

  对于releases和snapshots来说,除了enabled,它们还包含另外两个子元素updatePolicy和checksumPolicy:

<snapshots>
  <enabled>true</enabled>
  <updatePolicy>daily</updatePolicy>
  <checksumPolicy>ignore</checksumPolicy>
</snapshots>

  元素updatePolicy用来配置Maven从远程仓库检查更新的频率,默认的值是daily,表示Maven每天检查一次。其他可用的值包括:never——从不检查更新;always——每次构建都检查更新;in-terval:X——每隔X分钟检查一次更新(X为任意整数)。

    元素checksumPolicy用来配置Maven检查检验和文件的策略。当构件被部署到Maven仓库中时,会同时部署对应的校验和文件。在下载构件的时候,Maven会验证校验和文件,如果校验和验证失败,怎么办?当checksumPolicy的值为默认的warn时,Maven会在执行构建时输出警告信息,其他可用的值包括:fail——Maven遇到校验和错误就让构建失败;ignore——使Maven完全忽略校验和错误。 

加载全部内容

相关教程
猜你喜欢
用户评论