Подтвердить что ты не робот

Каковы основные/лучшие репозитории Maven?

Каковы основные/лучшие репозитории Maven, которые будут включать большинство ваших зависимостей Java-пакетов с открытым исходным кодом.

Также в каком порядке они должны быть включены? Это имеет значение?

4b9b3361

Ответ 1

Это текущая настройка в проекте, который мы создаем:

  • MavenCentral
  • ObjectWeb
  • JBoss Maven2
  • и некоторые снимки (см. ниже)

    <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>
    

Ответ 2

Я бы предложил использовать прокси Maven, например Archiva, Artifactory или Nexus, и определить ваш список репо на стороне сервера. Приказ имеет значение только в той степени, в которой прокси-сервер пытается прокси-репозиции по очереди и указывая репозиторий бахромы, поскольку первый замедляет разрешение неактивных артефактов (Artifactory позволяет вам указывать выражения белого и черного списка для каждого проксированного репо, который решает эта проблема)

В целом, используя свое собственное репо, вы получаете больше контроля и надежных сборок ( "центральное" часто мучительно медленное). Это также дает вам место для размещения ваших артефактов и любых несвободных артефактов третьей стороны.