1. Обзор
В этой статье будет показано, какие репозитории Maven использовать при использовании артефактов Spring в проекте — полный список репозиториев смотрите на вики Spring . Предыдущая инфраструктура управления артефактами SpringSource была maven.springframework.org
— теперь она устарела в пользу более мощного repo.spring.io
.
2. Релизы Maven
Все артефакты GA/Release публикуются в Maven Central, поэтому, если нужны только выпуски, нет необходимости добавлять новый репозиторий в pom
. Однако для Spring Releases также доступен пользовательский репозиторий 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 Milestone :
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.2.0.RC3</version>
</dependency>
4. Снимки Maven
Как и вехи, Spring Snapshots размещаются в пользовательском репозитории:
<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
Артефакты Spring, совместимые с OSGI, хранятся в репозитории 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
— для использования релиз-кандидатов, вех и моментальных снимков.