1. 概述
本文將介紹在項目中使用 Spring 構件時應使用的 Maven 倉庫 – 完整的倉庫列表請參見 Spring 維基。 之前的 SpringSource 構件管理基礎設施是 maven.springframework.org – 此項已停用,取而代之的是更強大的 repo.spring.io。
2. Maven 發佈版本
所有 GA/Release 類型的 Artifact 都發布到 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 構件版本規則在 項目wiki 上進行了説明。
里程碑和快照不會直接發佈到 Maven Central,因此它們有自己的特定倉庫。
3. Maven 里程碑和候選發佈版本
對於里程碑和候選發佈版本,需要將以下倉庫添加到 pom 中:<repositories>
<repository>
<id>repository.spring.milestone</id>
<name>Spring Milestone Repository</name>
<url>http://repo.spring.io/milestone</url>
</repository>
</repositories>該倉庫已定義,項目可以開始使用 Spring 里程碑 (milestone) 和候選發佈 (RC) 版本的依賴項:
<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. Spring OSGI 倉庫
與OSGI兼容的Spring Artifacts 維護在SpringSource的企業包倉庫(簡稱 EBR)。這些倉庫包含整個Spring Framework的有效OSGI Bundle和庫,以及這些庫的完整依賴集合。對於Bundle:
<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. 結論
本文介紹瞭如何在 pom 中設置 Spring 專用 Maven 倉庫的實用信息,以便使用候選版本、里程碑和快照。