2008-10-02 12 views

Odpowiedz

26

Jest obecna konfiguracja w projekcie jesteśmy budynku:

  • MavenCentral
  • ObjectWeb
  • JBoss Maven2
  • i kilka migawek (patrz niżej)

    <repository> 
        <id>MavenCentral</id> 
        <name>Maven repository</name> 
        <url>http://repo1.maven.org/maven2</url> 
        <releases> 
         <enabled>true</enabled> 
        </releases> 
        <snapshots> 
         <enabled>false</enabled> 
        </snapshots> 
    </repository> 
    <repository> 
        <id>objectweb</id> 
        <name>Objectweb repository</name> 
        <url>http://maven.objectweb.org/maven2</url> 
        <releases> 
         <enabled>true</enabled> 
        </releases> 
        <snapshots> 
         <enabled>false</enabled> 
        </snapshots> 
    </repository> 
    <repository> 
        <id>jboss</id> 
        <name>JBoss Maven2 repository</name> 
        <url>http://repository.jboss.com/maven2/</url> 
        <snapshots> 
         <enabled>false</enabled> 
        </snapshots> 
        <releases> 
         <enabled>true</enabled> 
        </releases> 
    </repository> 
    <repository> 
        <id>glassfish</id> 
        <name>Glassfish repository</name> 
        <url>http://download.java.net/maven/1</url> 
        <layout>legacy</layout> 
        <releases> 
         <enabled>true</enabled> 
        </releases> 
        <snapshots> 
         <enabled>false</enabled> 
        </snapshots> 
    </repository> 
    <repository> 
        <id>apache.snapshots</id> 
        <name>Apache Snapshot Repository</name> 
        <url> 
         http://people.apache.org/repo/m2-snapshot-repository 
        </url> 
        <releases> 
         <enabled>false</enabled> 
        </releases> 
        <snapshots> 
         <enabled>true</enabled> 
        </snapshots> 
    </repository> 
    <repository> 
        <id>ops4j.repository</id> 
        <name>OPS4J Repository</name> 
        <url>http://repository.ops4j.org/maven2</url> 
        <releases> 
         <enabled>true</enabled> 
        </releases> 
        <snapshots> 
         <enabled>false</enabled> 
        </snapshots> 
    </repository> 
    <repository> 
        <id>Codehaus Snapshots</id> 
        <url>http://snapshots.repository.codehaus.org/</url> 
        <snapshots> 
         <enabled>true</enabled> 
        </snapshots> 
        <releases> 
         <enabled>false</enabled> 
        </releases> 
    </repository> 
    
+3

Czy ta odpowiedź jest aktualna? – djangofan

+0

@djangofan no. Po prostu użyj JCenter. zobacz [dokumentacja] (https://bintray.com/docs/usermanual/working/working_centralrepositories.html#jcenter) i https://news.ycombinator.com/item?id=8099840 –

5

I sugerowałbym użycie proxy Maven, takiego jak Archiva, Artifactory lub Nexus, i zdefiniowanie listy repo po stronie serwera. Zlecenie ma znaczenie tylko w takim zakresie, w jakim serwer proxy próbuje pojedynczo wykonać repozytorium, a określenie repozytorium z marginesami jako pierwsze spowolni rozdzielczość niezakontraktowanych artefaktów (Artifactory pozwala na określenie białych i czarnych wyrażeń dla każdego proxy, które rozwiązuje ten problem)

Ogólnie korzystanie z własnego repozytu daje ci większą kontrolę i niezawodne kompilacje ("centralne" jest często boleśnie powolne). Daje także miejsce do umieszczania własnych artefaktów i wszelkich niewolnych artefaktów stron trzecich.

+0

Świetny pomysł. Jedyne zastrzeżenie, które chciałbym dodać, to to, że jeśli zwalniasz swój projekt jako otwarte źródło, powinieneś jawnie wymienić zależności zewnętrznych repozytoriów w POM. –

+0

Nieistotna odpowiedź. Pytanie brzmi, które repozytorium "publiczne" jest najlepsze lub zostanie użyte. – whaefelinger

Powiązane problemy