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 等)後,將移除 artifact 之前版本的所有里程碑版本。 例如,當 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’s S3 服務上,因此目錄結構不是人類可讀的。 要以人類可讀的格式查看儲存庫,請使用 S3Browse 實用程式。
- 里程碑儲存庫: http://s3browse.com/explore/maven.springframework.org/milestone
- 快照儲存庫: http://s3browse.com/explore/maven.springframework.org/snapshot
僅使用這些 URL 進行人類可讀的查看。 如果您將它們用作 POM 的 URL,您將遇到錯誤。
Artifact 來源
另一個重要的改進是為所有版本添加了原始碼 artifact。 您會注意到在里程碑儲存庫中,所有 artifact 都部署了原始碼。 對於我們將來的所有最終版本也是如此。 具體來說,從 Spring 2.5 版本開始,除了組合的 Spring 原始碼之外,每個模組還將有一個原始碼 artifact。
Spring 快照
最終的改進是一個尚未完成的改進; Spring 的每日快照。 我很高興地說,這即將完成。 我仍在解決 Maven Ant Tasks 的最終問題,但這最終會開始出現,並且我會在它出現時再次宣布。 此外,您可以期望此功能最終會擴展到所有其他基於 ANT 的 Spring Portfolio 專案,以便所有專案都可以創建 Maven 快照以及里程碑。