Maven的settings.xml文件结构之mirrors

Maven的远程库提供大量构件,供Maven项目直接下载使用。对于任何一个Maven项目,如果没有特别声明,默认使用同一个Maven的central库,称为Super POM,该库的url如下:

http://repo.maven.apache.org/maven2/

但是该远程库为所以项目共用,而且需要连接公共互联网访问,由于访问互联网的限制或安全控制的需要,在企业内部往往需要建立对远程库Super POM的镜像,并在此基础上组织自己的代码库。将Super POM库镜像到企业内部的代码库,即远程库的mirror。

Maven引用镜像,而不是直接引用远程库,这需要在Maven的settings.xml文件中进行设置,示例如下:

    <mirrors>
        <mirror>
            <id>my-arm</id>
            <mirrorOf>*,!sonar</mirrorOf>
            <url>https://mydomain/artifactory/proj-my-arm-release/</url>
        </mirror>
    </mirrors>

从上述示例可知,定义一个镜像库,至少需要提供如下三个参数:

  • 首先是镜像库的id,用以唯一标识该镜像库,默认default
  • 其次是镜像库的url,即该镜像库的访问位置
  • 最后,也是最重要的,是要镜像的远程库。例如,如果要镜像Maven的central库,则设置<mirrorOf>central</mirrorOf>

对于mirrorOf参数,如果该镜像库的目标远程库不止一个,则可以使用*表示任意远程库;external:*表示任何不在localhost和文件系统中的远程库;r1,r2表示r1库或者r2库;*,!r1表示除了r1库之外的任何远程库。

此外,定义镜像库还可以提供name, layout(默认default), mirrorOfLayouts(默认default,legacy)。

注意:一个被镜像的远程库,在镜像库中只能有一个镜像。

 

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值