领先一步
VMware 提供培训和认证,助您加速进步。
了解更多到目前为止,Spring Portfolio 的 Maven 构件,特别是快照,创建得不一致,并且散布在各种位置。在过去的几周里,我们一直在努力使项目在创建和上传这些构件时更加一致。
Spring Portfolio 中对 Maven 支持最有效的改进之一就是使用一致的仓库位置。根据您对代码的熟悉程度,有三种不同的仓库。
对于任何最终发布(Spring 2.5、Spring Web Flow 2.0 等),该发布的 Maven 构件将上传到 Maven Central 仓库(http://repo1.maven.org/maven2)。使用此仓库无需您付出任何努力,因为 Maven 会自动在此处查找构件。
此仓库中的构件确实遵循预期的仓库行为,并且不会(也不能)被删除。
对于任何里程碑发布(Spring 2.5-RC1、Spring Web Flow 2.0-M2 等),该发布的 Maven 构件将上传到 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>
此仓库中的构件不遵循预期的仓库行为,并且会被定期删除。在最终版本(Spring 2.6、Spring Web Flow 2.1 等)发布后,上一版本构件的所有里程碑版本将被删除。例如,当 Spring 2.6 发布时,Spring 2.5 的里程碑将被删除,而 Spring 2.6 的里程碑将被保留。
对于任何快照构建(Spring 2.5-SNAPSHOT、Spring Web Flow 2.0-SNAPSHOT 等),该构建的 Maven 构件将上传到 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>
此仓库中的构件不遵循预期的仓库行为,并且会被定期删除。对于给定的构件,至少会保留最近的 10 个快照构建。如果一个构件从分发版中删除,其快照构建将立即被删除。在里程碑或最终版本发布时,将删除构件的所有快照,并创建一个新快照用于下一个版本。
里程碑和快照仓库都托管在亚马逊的 S3 服务上,因此目录结构不便于人类阅读。要以人类可读的格式查看仓库,请使用S3Browse 工具。
仅将这些 URL 用于人类可读的查看。如果将它们用作 POM 的 URL,您将遇到错误。
另一个重要的改进是为所有发布添加了源代码构件。您会注意到在里程碑仓库中,所有构件都附带了源代码。在未来,所有最终发布也将如此。具体来说,从 Spring 2.5 发布开始,除了 Spring 组合源代码外,每个模块还将拥有一个源代码构件。
最后一个改进尚未完成;Spring 的夜间快照。我很乐意地说,这即将完成。我仍在解决与Maven Ant Tasks 相关的最终细节问题,但这最终会开始出现,届时我将再次宣布。此外,您可以期望此功能最终会推广到所有其他基于 ANT 的 Spring Portfolio 项目,以便所有项目都能创建 Maven 快照和里程碑。