Maven Artifacts (09/2007)
到目前为止,Spring Portfolio 的 Maven Artifacts,特别是快照版,创建不一致且散布在各种位置。在过去几周,我们一直在努力使项目在创建和上传这些 artifacts 时更加一致。
Maven 仓库
Spring Portfolio 中对 Maven 支持最有用的改进之一是使用了统一的仓库位置。根据您对代码的熟悉程度,有三种不同的仓库。
发布版仓库
对于任何最终发布版(Spring 2.5, Spring Web Flow 2.0 等),该发布版的 Maven artifacts 将被上传到 Maven Central 仓库(http://repo1.maven.org/maven2)。使用此仓库不需要您进行任何操作,因为 Maven 会自动在那里查找 artifacts。
此仓库中的 artifacts **确实**遵循预期的仓库行为,并且不会(也不能)被删除。
里程碑版仓库
对于任何里程碑发布版(Spring 2.5-RC1, Spring Web Flow 2.0-M2 等),该发布版的 Maven artifacts 将被上传到 Spring 里程碑仓库(http://s3.amazonaws.com/maven.springframework.org/milestone)。使用此仓库需要您在 POM 的 <repositories/> 元素中添加一个条目。它应该看起来像这样
<repository>
<id>spring-milestone</id>
<name>Spring Portfolio Milestone Repository</name>
<url>http://s3.amazonaws.com/maven.springframework.org/milestone</url>
</repository>
此仓库中的 artifacts **不**遵循预期的仓库行为,并且会定期被删除。最终版本发布后(Spring 2.6, Spring Web Flow 2.1 等),先前发布的所有里程碑版本 artifacts 将被删除。例如,当 Spring 2.6 发布时,Spring 2.5 的里程碑版将被删除,而 Spring 2.6 的里程碑版将保留。
快照版仓库
对于任何快照构建(Spring 2.5-SNAPSHOT, Spring Web Flow 2.0-SNAPSHOT 等),该构建的 Maven artifacts 将被上传到 Spring 快照仓库(http://s3.amazonaws.com/maven.springframework.org/snapshot)。使用此仓库需要您在 POM 的 <repositories/> 元素中添加一个条目。它应该看起来像这样
<repository>
<id>spring-snapshot</id>
<name>Spring Portfolio Snapshot Repository</name>
<url>http://s3.amazonaws.com/maven.springframework.org/snapshot</url>
</repository>
此仓库中的 artifacts **不**遵循预期的仓库行为,并且会定期被删除。对于给定的 artifact,至少会保留最新的 10 个快照构建。如果 artifact 从分发中移除,其快照构建将立即被移除。在里程碑版或最终发布版发布时,artifact 的所有快照版将被移除,并为下一个发布版创建一个新的快照版。
仓库浏览
里程碑版和快照版仓库都托管在 Amazon 的 S3 服务上,因此目录结构不易于人类阅读。要以人类可读的格式查看这些仓库,请使用 S3Browse 工具。
- 里程碑版仓库:http://s3browse.com/explore/maven.springframework.org/milestone
- 快照版仓库:http://s3browse.com/explore/maven.springframework.org/snapshot
仅使用这些 URL 进行人类可读的查看。如果您将它们用作 POM 的 URL,将会遇到错误。
Artifact 源码
另一个重要的改进是为所有发布版添加了源码 artifacts。您会注意到在里程碑版仓库中,所有 artifacts 都部署了源码。将来对于所有最终发布版也将是如此。具体来说,从 Spring 2.5 发布版开始,除了合并的 Spring 源码外,每个模块也将拥有一个源码 artifact。
Spring 快照版
最后一个改进尚未完成;Spring 的每日快照版。我很高兴地说这即将完成。我仍在解决关于 Maven Ant Tasks 的最后一些问题,但这最终将开始出现,届时我将再次宣布。此外,您也可以期待此功能最终会推广到所有其他基于 ANT 的 Spring Portfolio 项目,以便所有项目都将创建 Maven 快照版以及里程碑版。