2012-09-04 24 views
12

Nexus kullanarak şirket yerel maven deposu oluşturmak istiyorum. Deposu halka açık internet üzerinden hiçbir şey indirmemeli, gereken her şey repo'ya eklenir. Geliştiricinin yerel maven instansleri, gerekli kütüphaneleri ve araçları şirket bağlantılarından indirmelidir. Ben settings.xml böyle ayna kullanarak bunu başarmış:Yalnızca şirket yerel bağlantı deposu nasıl kullanılır?

bu çözüm ile
<mirror> 
    <id>company-repository</id> 
    <name>Company releases repository</name> 
    <url>http://nexus.company.com/nexus/content/repositories/releases</url> 
    <mirrorOf>*</mirrorOf> 
</mirror> 

Sorun bültenleri deposuna işaret etmek sadece mümkün olduğumu, ben arama yapmak için üçüncü taraf ve anlık depo dahil etmek istiyoruz de. Bunun nasıl yapılması gerektiğine dair bir fikri olan var mı? Ayna etiketi sadece bir URL alır.

Ben de böyle varsayılan profili tanımlayan ile çalıştı: bu çözüm ile

<profile>    
    <id>defaultProfile</id> 
    <activation> 
     <activeByDefault>true</activeByDefault> 
    </activation> 
    <repositories> 
     <repository> 
      <id>company-thirdparty-repo</id> 
      <url>http://nexus.company.com//nexus/content/repositories/thirdparty</url> 
      <releases> 
       <checksumPolicy>fail</checksumPolicy> 
      </releases> 
      <snapshots> 
       <enabled>false</enabled> 
      </snapshots> 
     </repository> 
     <repository> 
      <id>company-releases-repo</id> 
      <url>http://nexus.company.com/nexus/content/repositories/releases</url> 
      <snapshots> 
       <enabled>true</enabled> 
       <updatePolicy>always</updatePolicy> 
       <checksumPolicy>fail</checksumPolicy> 
      </snapshots> 
      <releases> 
       <enabled>true</enabled> 
       <checksumPolicy>fail</checksumPolicy> 
      </releases> 
     </repository> 
    </repositories> 
    <pluginRepositories> 
     <pluginRepository> 
      <id>central</id> 
      <url>http://nexus.company.com/nexus/content/repositories/central</url> 
      <releases> 
       <enabled>true</enabled> 
       <checksumPolicy>fail</checksumPolicy> 
      </releases> 
      <snapshots> 
       <checksumPolicy>fail</checksumPolicy> 
      </snapshots> 
     </pluginRepository> 
    </pluginRepositories>    
</profile> 

Sorun Maven bu depolarından şey bulamayan hala repo.maven.apache.org onu indirir olmasıdır. Her türlü yardıma minnettar olurum. Teşekkürler!

cevap

5

Sen ikisinin birleşimini kullanabilirsiniz:

uzaktan kamu repo vekiller için bir depo grubu oluşturun (kamu diyoruz varsayın). Diğer depoları için

"Merkezi" dir Maven, sadece varsayılan depo ayna için kullanın sadece depo/eklenti repo olarak ekleyin settings.xml şöyle

:

<settings> 
    <mirrors> 
     <mirror> 
      <id>nexus</id> 
      <mirrorOf>central</mirrorOf> 
      <url>http://your/nexus/groups/public</url> 
     </mirror> 
    </mirrors> 

    <profiles> 
     <profile> 
      <id>nexus</id> 
      <repositories> 
       <repository> 
        <!-- for you to override settings of central --> 
        <id>central</id> 
        <url>http://a.fake.host</url> 
        <releases><enabled>true</enabled></releases> 
        <snapshots><enabled>true</enabled></snapshots> 
       </repository> 
       <repository> 
        <id>anotherRepo</id> 
        <url>http://your/nexus/groups/anotherRepo</url> 
        <releases><enabled>true</enabled></releases> 
        <snapshots><enabled>true</enabled></snapshots> 
       </repository> 

      </repositories> 
      <pluginRepositories> 
       <pluginRepository> 
        <!-- for you to override settings of central --> 
        <id>central</id> 
        <url>http://a.fake.host</url> 
        <releases><enabled>true</enabled></releases> 
        <snapshots><enabled>true</enabled></snapshots> 
       </pluginRepository> 

       <pluginRepository> 
        <id>anotherRepo</id> 
        <url>http://your/nexus/groups/anotherRepo</url> 
        <releases><enabled>true</enabled></releases> 
        <snapshots><enabled>true</enabled></snapshots> 
       </pluginRepository> 
      </pluginRepositories> 
     </profile> 
    </profiles> 

    <activeProfiles> 
     <activeProfile>nexus</activeProfile> 
    </activeProfiles> 
</settings> 
+0

etiketinde "*" demeniz gerekir, aksi takdirde yalnızca merkezi yansıtılır (burada bir göz atın: http://www.sonatype.com/books/nexus-book/reference/maven-sect-single-group.html). – khmarbaise

+0

@khmarbaise Yapmaya çalıştığım şey şu: Nexus repo grubunda merkezi konumlandırma ve bunun üstüne ek postalar ekleme –

+0

Bunu çözmek için Nexus'ta yapılandırılmalı ve settings.xml dosyasında yapılandırılmamış olmalıdır. – khmarbaise

İlgili konular