2016-02-08 15 views
5
<mirrors> 
    <!-- mirror 
    | Specifies a repository mirror site to use instead of a given repository. The repository that 
    | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used 
    | for inheritance and direct lookup purposes, and must be unique across the set of mirrors. 
    | 
    <mirror> 
     <id>mirrorId</id> 
     <mirrorOf>repositoryId</mirrorOf> 
     <name>Human Readable Name for this Mirror.</name> 
     <url>http://my.repository.com/repo/path</url> 
    </mirror> 
    --> 
    <mirror> 
     <id>nexus-osc</id> 
     <mirrorOf>central</mirrorOf> 
     <name>Nexus osc</name> 
     <url>http://maven.oschina.net/content/groups/public/</url> 
    </mirror> 
    <mirror> 
     <id>nexus-osc-thirdparty</id> 
     <mirrorOf>thirdparty</mirrorOf> 
     <name>Nexus osc thirdparty</name> 
     <url>http://maven.oschina.net/content/repositories/thirdparty/</url> 
    </mirror> 
    <mirror> 
     <id>maven2</id> 
     <mirrorOf>maven2</mirrorOf> 
     <name>maven2</name> 
     <url>http://repo1.maven.org/maven2/</url> 
    </mirror> 
</mirrors> 

setting.xml depoya? Maven ilk önce id=nexus-osc ve nexus-osc-thirdparty dan sonra maven2 dan kavanoz almayı deneyecek mi? Zaten maven mirror setting guide'u kontrol ettim ama hala anlayamıyorum.maven tam <code>mirrorOf</code> kullanarak nedir mirrorof

cevap

4

Maven documentation about mirrors alıntı: Yeni Depoyu kendi kimliği ve url vererek

Verilen Deponun bir ayna yapılandırmak için, ayarlar dosyası (${user.home}/.m2/settings.xml) bunu sağlamak ve mirrorOf ayarını belirtin bir ayna kullandığınız deponun kimliğidir. Bunun anlamı

olan bir depo beyana mirrorOf bu puan ve belirtilen deposunu bağlanmaya çalıştığında bu ayna kullanımı Maven yapılandırır.


Bir örnek verelim. Ayarlarınızdaki aşağıdaki bildiriyle

<project> 
    ... 
    <repositories> 
    <repository> 
     <id>my-internal-site</id> 
     <url>http://myserver/repo</url> 
    </repository> 
    </repositories> 
    ... 
</project> 

:

<settings> 
    ... 
    <mirrors> 
    <mirror> 
     <id>UK</id> 
     <name>UK Central</name> 
     <url>http://uk.maven.org/maven2</url> 
     <mirrorOf>my-internal-site</mirrorOf> 
    </mirror> 
    </mirrors> 
    ... 
</settings> 

Bunun anlamı Maven'in bir kütüphane indirmeyi dener her olmasıdır Eğer projede tanımlanan aşağıdaki depo ile bir proje var my-internal-site depo, aslında http://myserver/repo kullanmaz, bunun yerine yansıtma bildirimini kullanın ve kitaplığı http://uk.maven.org/maven2'dan indirin.

herhangi bir sipariş tanımlamıyor. Sadece, Maven'in yansıtılmış depo yerine eserler indirmesi gerektiğini bildiriyor.


Belirleme <mirrorOf>central</mirrorOf> Maven'in indirme eserler gelen varsayılan konum Maven Merkez deposunu yansıtma olan Maven söyler. Eğer bir merkezi iç depo olduğunda aynalar kullanılarak Gibi


, genellikle kurumsal bağlamda kullanılır ve her Maven'in isteği o depo yöneticisi geçer.

+0

Teşekkürler @Tunaki. – Oscar