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 快照版以及里程碑版。