使用 Maven 校驗和快照 - Amazon CodeCatalyst

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

使用 Maven 校驗和快照

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

使用 Maven 校驗和

當一個 Maven 包被發佈到一個 CodeCatalyst 包存儲庫,與包中的每個資產或文件相關聯的校驗和被用來驗證上傳。資產的例子是子,POM戰爭文件。對於每個資產,Maven 包包含多個校驗和文件,這些文件使用資產名稱和附加擴展名,例如md5sha1。例如,名為的檔案的總和檢查碼檔案my-maven-package.jar可能是my-maven-package.jar.md5my-maven-package.jar.sh1

每個 Maven 包還包含一個maven-metadata.xml文件。必須上載此檔案,才能成功發佈。如果在上載任何封裝檔案期間偵測到總和檢查碼不符,則發佈會停止。這可能會阻maven-metadata.xml止上傳。發生這種情況時,Maven 包的狀態被設置為Unfinished。您無法下載屬於此狀態之套件一部分的資產。

發佈 Maven 套件時,如果總和檢查碼不相符,請記住下列事項:

  • 如果在上載之前發生總和檢查碼maven-metadata.xml不相符,則封裝的狀態不會設定為。Unfinished此套件不可見,且無法使用其資產。發生這種情況時,請嘗試下列其中一個動作,然後嘗試再次下載資產。

    • 運行再次發布 Maven 包的命令。如果網絡問題在下載過程中損壞校驗和文件,這可能會起作用。如果重試的網路問題已解決,則總和檢查碼相符且下載成功。

    • 如果重新發布 Maven 包不起作用,請刪除該軟件包,然後重新發布它。

  • 如果上載之後maven-metadata.xml發生總和檢查碼不相符,則封裝的狀態會設定為。Published您可以使用包中的任何資產,包括那些具有校驗和不匹配的資產。下載資產時,系統會隨資產一起下載由產生 CodeCatalyst 的總和檢查碼。如果下載的檔案與總和檢查碼不符相關聯,則其下載的總和檢查碼檔案可能與發行封裝時上傳的總和檢查碼不符。

使用 Maven 快照

Maven 快照是指最新生產分支代碼的 Maven 包的特殊版本。它是最終發布版本之前的開發版本。您可以透過附加至套件版本的尾碼SNAPSHOT來識別 Maven 套件的快照版本。例如,版本的快照1.11.1-SNAPSHOT。如需詳細資訊,請參閱什麼是SNAPSHOT版本? 在阿帕奇 Maven 項目網站上。

CodeCatalyst 支持發布和消費 Maven 快照。您可以將 Maven 快照發佈到 CodeCatalyst 存儲庫,或者如果直接連接,則可以發佈到上游存儲庫。不過,不支援套件儲存庫及其上游儲存庫中的快照版本。例如,如果您將具有版本的 Maven 軟件包上傳1.2-SNAPSHOT到您的軟件包存儲庫,則 CodeCatalyst 不支持將具有相同快照版本的 Maven 軟件包上傳到其中一個上游存儲庫。此案例可能會傳回無法預期的結果

發布 Maven 快照時,其先前的版本將保留在稱為構建的新版本中。每次發布 Maven 快照時,都會創建一個新的構建版本。快照的所有先前版本都會在其組建版本中進行維護。發行 Maven 快照集時,其狀態會設定為,Published且包含先前版本的組建狀態會設定為Unlisted

如果您要求快照,則會傳回具有狀態Published的版本。這始終是 Maven 快照的最新版本。您也可以要求快照的特定組建。

要刪除 Maven 快照的所有構建版本,請使用 CodeCatalyst 控制台。