MAVEN学习之settings.xml

settings.xml

可能存在的两个地方,前一种设置称为全局设置,后一种设置称为用户设置。如果两个文件都存在,它们的内容将被合并,以用户特定的settings.xml为主。

  1. MAVEN的安装位置: ${maven.home}/conf/settings.xml
  2. 用户的文件夹: ${user.home}/.m2/settings.xml

顶级元素


    
    
    
    
    
    
    
    
    

localRepository

G:\maven

包括三种仓库

  • 本地仓库(local):.m2/respository/
  • 中央仓库(central):Maven 社区提供的仓库
  • 远程仓库(remote):其他远程仓库

仓库读取顺序
步骤 1 - 在本地仓库中搜索,如果找不到,执行步骤 2,如果找到了则执行其他操作。
步骤 2 - 在中央仓库中搜索,如果找不到,并且有一个或多个远程仓库已经设置,则执行步骤 4,如果找到了则下载到本地仓库中以备将来引用。
步骤 3 - 如果远程仓库没有被设置,Maven 将简单的停滞处理并抛出错误(无法找到依赖的文件)。
步骤 4 - 在一个或多个远程仓库中搜索依赖的文件,如果找到则下载到本地仓库以备将来引用,否则 Maven 将停止处理并抛出错误(无法找到依赖的文件)

servers

访问远程服务器需要的信息


    
      server001
      my_login
      my_password
      ${user.home}/.ssh/id_dsa
      some_passphrase
      664
      775
      
    

mirrors

当觉得国外服务器慢的时候,可以用镜像,比如阿里的。镜像的优先级大于仓库。Maven不会聚合镜像,而只是选择第一个匹配。如果希望提供多个存储库,请使用存储库管理器。


    
      planetmirror.com
      PlanetMirror Australia
      http://downloads.planetmirror.com/pub/maven2
      central
    

根据mirrorOf匹配规则如下:

  • = 匹配所有远程仓库
  • external:* = 匹配除 localhost、使用 file:// 协议外的所有远程仓库
  • repo,repo1:* = 匹配仓库 repo1 和 repo2,central代表替换中央仓库
  • ,!repo1: = 匹配所有远程仓库, 但不包括 repo1

Proxies

代理


    
      myproxy
      true
      http
      proxy.somewhere.com
      8080
      proxyuser
      somepassword
      *.google.com|ibiblio.org
    

Profiles

配置文件,每个profile由activation, repositories, pluginRepositories和properties组成

activation

当所有指定的条件都满足时,激活就会发生,尽管不是所有的条件都需要同时满足


    false
    1.5
    
      Windows XP
      Windows
      x86
      5.1.2600
    
    
      mavenVersion
      2.0.3
        
    
      
      ${basedir}/file2.properties
      
      ${basedir}/file1.properties
    

properties

值占位符


    ${user.home}/our-project

repositories

远程仓库集合


    
      codehausSnapshots
      Codehaus Snapshots
      
        false
        always
        warn 
      
      
        true
        never
        fail
      
      http://snapshots.maven.codehaus.org/maven2
      default
    
  

ActiveProfiles

直接激活配置


    env-test

你可能感兴趣的:(maven)