1. 概述

本文将介绍在项目中使用 Spring 组件时需要配置的 Maven 仓库。完整的仓库列表可参考 Spring 官方文档。旧的 SpringSource 仓库 maven.springframework.org 已被弃用,现在推荐使用功能更强大的 repo.spring.io

2. 正式版仓库

所有 GA(正式发布版)组件都会发布到 Maven 中央仓库,因此如果只需要正式版,无需在 pom.xml 中额外配置仓库。但如果中央仓库不可用,也可以使用 Spring 官方提供的可浏览的正式版仓库

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

⚠️ 注意:Spring 组件的版本规则详见项目文档。里程碑版(Milestones)和快照版(Snapshots)不会直接发布到中央仓库,需要单独配置。

3. 里程碑版和候选版仓库

使用里程碑版(Milestones)和候选版(RCs)时,需在 pom.xml 中添加以下仓库:

<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. 快照版仓库

Spring 快照版(Snapshots)同样托管在专用仓库:

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

启用仓库后,可使用 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 组件托管在 SpringSource 的企业级仓库(简称 EBR)。这些仓库包含整个 Spring 框架的 OSGI 包和依赖库。使用以下配置获取 OSGI 包:

<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.xml 中配置 Spring 专用 Maven 仓库的实用方法,以便使用候选版、里程碑版和快照版组件。踩坑提醒:直接使用中央仓库时,这些特殊版本会不可用,务必按需添加对应仓库配置。


原始标题:Spring Maven Repositories