«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 — для использования релиз-кандидатов, контрольных точек и моментальных снимков.