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