配置maven镜像

Using Mirrors for Repositories

Repositories是你指定的用于下载某些artifacts的位置,如dependencies和maven-plugins,Repositories可以在项目中声明,这意味着如果你有自己的订制Repositories,那么将能够很容易的共享你的项目,然而,你也可能想要不修改项目文件的情况下使用一个特殊仓库的镜像。

使用镜像的理由:

  • 互联网上存在同步的镜像,并且更近,更快。
  • 你想要用你更能控制的你自己的内部repository替换一个特别的repository
  • 你想要运行一个仓库管理器来提供一个镜像的本地缓存,并且需要使用它的URL替代。

要配置一个给定repository的镜像,你需要在你的settings配置文件(settings.xml)中配置它自己的id和url,并且指定mirrorOf为所要配置Repository的ID,例如主要的美国中心Repository包含的ID默认为central,所以如果要使用欧州中心Repository,你需要配置如下:

<settings>
    ...
    <mirrrors>
        <mirror>
            <id>UK</id>
            <name>UK central</name>
            <url>http://uk.maven.org/maven2</url>
            <mirrorOf>cenral</mirrorOf>
        </mirror>
    </mirrors>
    ...
</settings>

一个给定的Repository只能拥有一个镜像,换句话说,你不映射一个Repository到一组使用相同值的镜像。虽然maven不限制,但是只会选择第一个匹配到的镜像。

使用单一Repository

你可以强制Maven使用单一的Repository,并通过它来反射所有的仓库请求。这要的Repository必须包含所有的需要的artifacts或者能够代理对其他Repository的请求。此种配置在使用一个公司内部的使用Maven仓库管理工具代理其他请求的仓库时是非常有用的。

要实现这样的配置,需要将mirrorOf值设置为*。如下:

<settings>
    ...
    <mirrors>
        <mirror>
            <id>internal-repository</id>
            <name>Maven Repository Manager running on repo.mycompany.com</name>
            <url>http://repo.mycompany.com/proxy<url>
            <mirrorOf>*</mirrorOf>
        </mirror>
    </mirrors>
    ...
</settings>

Advanced Mirror Specification

一个镜像(mirror)可以操作多个Repository,语法如下:

  • *表示匹配所有仓库ID
  • external:*表示匹配除了本地和基于文件的Repository
  • 指定多个RepositoryID时可以用逗号分隔,如repo,repo1。
  • *,!repo1表示匹配除了repo1外的所有仓库ID。

如:

<settings>
    ...
    <mirrors>
        <mirror>
          <id>internal-repository</id>
          <name>Maven Repository Manager running on repo.mycompany.com</name>
          <url>http://repo.mycompany.com/proxy</url>
          <mirrorOf>external:*,!foo</mirrorOf>
        </mirror>
        <mirror>
          <id>foo-repository</id>
          <name>Foo</name>
          <url>http://repo.mycompany.com/foo</url>
          <mirrorOf>foo</mirrorOf>
        </mirror>
      </mirrors>
      ...
    </settings>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值