zoukankan      html  css  js  c++  java
  • maven 配置mirror后,本地库与远端库冲突

    settings.xml中主要包括以下元素:

    • localRepository
    • interavtiveMode
    • offline
    • pluginGroups
    • proxies
    • servers
    • mirrors
    • profiles
    • property
    • activeProfile
    • localRepository:表示Maven用来在本地储存信息的本地仓库的目录。默认是用户家目录下面的.m2/repository目录。
    • interactiveMode:表示是否使用交互模式,默认是true;如果设为false,那么当Maven需要用户进行输入的时候,它会使用一个默认值。
    • offline:表示是否离线,默认是false。这个属性表示在Maven进行项目编译和部署等操作时是否允许Maven进行联网来下载所需要的信息。
    • pluginGroups:在pluginGroups元素下面可以定义一系列的pluginGroup元素。表示当通过plugin的前缀来解析plugin的时候到哪里寻找。pluginGroup元素指定的是plugin的groupId。默认情况下,Maven会自动把org.apache.maven.plugins和org.codehaus.mojo添加到pluginGroups下。
    • proxies:其下面可以定义一系列的proxy子元素,表示Maven在进行联网时需要使用到的代理。当设置了多个代理的时候第一个标记active为true的代理将会被使用。
    <proxies>  
      <proxy>  
          <id>xxx</id>  
          <active>true</active>  
          <protocol>http</protocol>  
          <username>用户名</username>  
          <password>密码</password>  
          <host>代理服务器地址</host>  
          <port>代理服务器的端口</port>  
          <nonProxyHosts>不使用代理的主机</nonProxyHosts>  
      </proxy>  
    </proxies>

    servers:其下面可以定义一系列的server子元素,表示当需要连接到一个远程服务器的时候需要使用到的验证方式。这主要有username/password和privateKey/passphrase这两种方式。以下是一个使用servers的示例:

    <servers>  
      <server>  
        <id>id</id>  
        <username>用户名</username>  
        <password>密码</password>  
      </server>  
    </servers>

    mirrors:用于定义一系列的远程仓库的镜像。我们可以在pom中定义一个下载工件的时候所使用的远程仓库。但是有时候这个远程仓库会比较忙,所以这个时候人们就想着给它创建镜像以缓解远程仓库的压力,也就是说会把对远程仓库的请求转换到对其镜像地址的请求。每个远程仓库都会有一个id,这样我们就可以创建自己的mirror来关联到该仓库,那么以后需要从远程仓库下载工件的时候Maven就可以从我们定义好的mirror站点来下载,这可以很好的缓解我们远程仓库的压力。在我们定义的mirror中每个远程仓库都只能有一个mirror与它关联,也就是说你不能同时配置多个mirror的mirrorOf指向同一个repositoryId。 看以下是一个使用mirrors的例子:

    <mirrors>  
        <mirror>  
          <id>mirrorId</id>  
          <mirrorOf>repositoryId</mirrorOf>  
          <name>定义一个容易看懂的名称 </name>  
          <url>http://my.repository.com/repo/path</url>  
        </mirror>  
    </mirrors>

    配置项

    • id:是用来区别mirror的,所有的mirror不能有相同的id
    • mirrorOf:用来表示该mirror是关联的哪一个仓库,其值为其关联仓库的id。当要同时关联多个仓库时,这多个仓库之间可以用逗号隔开;当要关联所有的仓库时,可以使用“”表示;当要关联除某一个仓库以外的其他所有仓库时,可以表示为“,!repositoryId”;当要关联不是localhost或用file请求的仓库时,可以表示为“external:*”。
    • url:表示该镜像的url。当Maven在建立系统的时候就会使用这个url来连接到我们的远程仓库。

     

     

    待补充

  • 相关阅读:
    EF架构~简洁关联表插入,优越的代码性能!
    基础才是重中之重~你是否真正了解TransactionScope?
    基础才是重中之重~如何整理BLL与DAL层的文件
    java Byte 和byte 差别及byte[ ]和string转换
    转: java的InputStream和OutputStream的理解
    java.awt.list java.util.list 区别
    java.util.Scanner 总结
    java .io OutputStream 与InputStream
    java 3中方法复制一个文件
    网络爬虫 简介
  • 原文地址:https://www.cnblogs.com/suanec/p/7205340.html
Copyright © 2011-2022 走看看