maven远程仓库配置之一些配置属性的理解

在很多情况下,默认的中央仓库无法满足项目的需求,可能项目需要的构件存在于另外一个远程仓库中,如:JBoss,Maven仓库。这时,可以在POM中配置该仓库,见代码请单:

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

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

例配置中的releases和snapshots元素比较重要它们用来控制Maven对于发布版构件和快照版构件的下载(我们为什么需要快照版构件呢,因为我们需要相对发布版本更加新的开发版本的时候,就可以用snapshots版本)。该例中releases的enabled值为true,表示开启JBoss仓库的发布版本下载支持,而snapshots的enabled值为false,表示关闭JBoss仓库的快照版本的下载支持。该例中的layout元素值default表示仓库的布局是Maven2及Maven3的默认布局,而不是Maven1的布局。

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

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

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

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

在setting.xml中配置远程仓库

1.需要在profiles标签中添加远程仓库配置

<profile>

<id>myProfiel</id>

<repositories>

<repository>

<id>me</id>

<name>me Repository</name>

<url>http://192.168.106.58:57770/nexus/</url>

<releases>

<updatePolicy>daily</updatePolicy>never,always,interval n

<enabled>true</enabled>

<checksumPolicy>warn</checksumPolicy>fail,ignore

</releases>

<snapshots>

<enabled>false</enabled>

</snapshots>

<layout>default</layout>

</repository>

</repositories>

</profile>

2.在settings标签中添加activeProfiles标签,用于激活配置的profile标签

<activeProfiles>

<activeProfile>myProfiel</activeProfile>

</activeProfiles>

 转载于:https://blog.csdn.net/bao19901210/article/details/52387559?fps=1&locationNum=1

猜你喜欢

转载自blog.csdn.net/yinni11/article/details/82462779