«1. Обзор

В этой статье показано, какие репозитории Maven использовать при использовании артефактов Spring в проекте — см. полный список репозиториев на вики Spring. Предыдущая инфраструктура управления артефактами SpringSource была maven.springframework.org — теперь она устарела в пользу более мощного repo.spring.io.

2. Релизы Maven

Все артефакты GA/Release публикуются в Maven Central, поэтому, если нужны только релизы, нет необходимости добавлять новый репозиторий в pom. Тем не менее, для выпусков Spring также доступен пользовательский доступный для просмотра репозиторий Maven, если по какой-либо причине Central недоступен:

<repositories>
    <repository> 
        <id>repository.spring.release</id> 
        <name>Spring GA Repository</name> 
        <url>http://repo.spring.io/release</url> 
    </repository>
</repositories>

Правила управления версиями артефактов Spring объясняются в вики проекта.

Вехи и моментальные снимки не публикуются напрямую в Maven Central, поэтому у них есть свои собственные репозитории.

3. Вехи Maven и версии-кандидаты

Для вех и RC в pom необходимо добавить следующее репо:

<repositories>
    <repository> 
        <id>repository.spring.milestone</id> 
        <name>Spring Milestone Repository</name> 
        <url>http://repo.spring.io/milestone</url> 
    </repository>
</repositories>

После того, как этот репозиторий будет определен, проект может начать использовать веху Spring зависимости:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>4.2.0.RC3</version>
</dependency>

4. Снимки Maven

Как и вехи, снимки Spring размещаются в пользовательском репозитории:

<repositories>
    <repository> 
        <id>repository.spring.snapshot</id> 
        <name>Spring Snapshot Repository</name> 
        <url>http://repo.spring.io/snapshot</url> 
    </repository>
</repositories>

Как только репозиторий включен в pom, проект может начать использовать Spring снимки:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>4.2.5.BUILD-SNAPSHOT</version>
</dependency>

И даже:

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>4.3.0.BUILD-SNAPSHOT</version>
</dependency>

Репозитории снимков теперь также можно просматривать.

5. Репозиторий Maven для Spring OSGI

OSGI-совместимые артефакты Spring хранятся в репозитории SpringSource Enterprise Bundle Repository — короче говоря, EBR. Эти репозитории содержат действительные пакеты и библиотеки OSGI для всей Spring Framework, а также полный набор зависимостей для этих библиотек. Для пакетов:

<repository>
    <id>com.springsource.repository.bundles.release</id> 
    <name>SpringSource Enterprise Bundle Repository - SpringSource Bundle Releases</name> 
    <url>http://repository.springsource.com/maven/bundles/release</url> 
</repository>

<repository> 
    <id>com.springsource.repository.bundles.external</id> 
    <name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name> 
    <url>http://repository.springsource.com/maven/bundles/external</url> 
</repository>

И для библиотек, совместимых с OSGI:

<repository>
    <id>com.springsource.repository.libraries.release</id>
    <name>SpringSource Enterprise Bundle Repository - SpringSource Library Releases</name>
    <url>http://repository.springsource.com/maven/libraries/release</url>
</repository>
<repository>
    <id>com.springsource.repository.libraries.external</id>
    <name>SpringSource Enterprise Bundle Repository - External Library Releases</name>
    <url>http://repository.springsource.com/maven/libraries/external</url>
</repository>

Примечание. SpringSource EBR теперь доступен только для чтения, и никакие дальнейшие выпуски Spring Framework 3.2.x не будут публиковаться там.

6. Заключение

В этой статье описывается практическая информация о настройке репозиториев Maven для Spring в pom — для использования релиз-кандидатов, контрольных точек и моментальных снимков.