

Amazon CodeCatalyst 不再向新客戶開放。現有客戶可以繼續正常使用該服務。如需詳細資訊，請參閱[如何從 CodeCatalyst 遷移](migration.md)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 Maven 檢查總和和和快照
<a name="packages-maven-checksums-snapshots"></a>

下列各節說明如何在 CodeCatalyst 中使用 Maven 檢查總和和和 Maven 快照。

## 使用 Maven 檢查總和
<a name="maven-checksums"></a>

 當 Maven 套件發佈至 CodeCatalyst 套件儲存庫時，與套件中每個*資產*或檔案相關聯的檢查總和會用來驗證上傳。資產的範例包括 *jar*、*pom* 和 *war* 檔案。對於每個資產，Maven 套件包含多個檢查總和檔案，這些檔案使用資產名稱搭配額外的副檔名，例如 `md5`或 `sha1`。例如，名為 的檔案檢查總和檔案`my-maven-package.jar`可能是 `my-maven-package.jar.md5`和 `my-maven-package.jar.sha1`。

 每個 Maven 套件也都包含 `maven-metadata.xml` 檔案。必須上傳此檔案，發佈才能成功。如果在上傳任何套件檔案期間偵測到檢查總和不相符，發佈會停止。這可能會導致 `maven-metadata.xml` 無法上傳。發生這種情況時，Maven 套件的狀態會設為 `Unfinished`。您無法下載屬於具有此狀態之套件的資產。

當您發佈 Maven 套件時，如果檢查總和不相符，請記住下列事項：
+  如果在`maven-metadata.xml`上傳之前發生檢查總和不相符，則套件的狀態不會設為 `Unfinished`。套件不會顯示，也無法使用其資產。發生這種情況時，請嘗試下列其中一項，然後再次嘗試下載資產。
  + 執行再次發佈 Maven 套件的 命令。如果網路問題在下載期間損毀檢查總和檔案，這可能會起作用。如果已解決重試的網路問題，檢查總和會相符且下載成功。
  +  如果重新發佈 Maven 套件無法運作，請刪除套件，然後重新發佈套件。
+  如果在`maven-metadata.xml`上傳之後發生檢查總和不相符，套件的狀態會設為 `Published`。您可以取用套件中的任何資產，包括檢查總和不相符的資產。當您下載資產時，CodeCatalyst 產生的檢查總和會隨之下載。如果下載的檔案與檢查總和不相符相關聯，則其下載的檢查總和檔案可能與發佈套件時上傳的檢查總和不相符。

## 使用 Maven 快照
<a name="maven-snapshots"></a>

 Maven *快照*是 Maven 套件的特殊版本，參考最新的生產分支程式碼。這是最終發行版本之前的開發版本。您可以透過`SNAPSHOT`附加到套件版本的尾碼來識別 Maven 套件的快照版本。例如， 版本的快照`1.1`為 `1.1-SNAPSHOT`。如需詳細資訊，請參閱[什麼是 SNAPSHOT 版本？](https://maven.apache.org/guides/getting-started/index.html#What_is_a_SNAPSHOT_version) Apache Maven 專案網站上的 。

 CodeCatalyst 支援發佈和使用 Maven 快照。您可以將 Maven 快照發佈到 CodeCatalyst 儲存庫，或者，如果您直接連接到上游儲存庫。不過，不支援套件儲存庫和其中一個上游儲存庫中的快照版本。例如，如果您將具有 版本的 Maven 套件上傳`1.2-SNAPSHOT`到套件儲存庫，CodeCatalyst 不支援將具有相同快照版本的 Maven 套件上傳到其其中一個上游儲存庫。此案例可能會傳回無法預測的結果。

 發佈 Maven 快照時，其先前版本會保留在稱為*組建*的新版本中。每次發佈 Maven 快照時，都會建立新的建置版本。所有舊版的快照都會保留在其建置版本中。發佈 Maven 快照時，其狀態會設為 ，`Published`而包含先前版本的組建狀態會設為 `Unlisted`。

 如果您請求快照，`Published`則會傳回狀態為 的版本。這一律是 Maven 快照的最新版本。您也可以請求特定建置快照。

若要刪除 Maven 快照的所有建置版本，請使用 CodeCatalyst 主控台。