本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Maven 總和檢查碼和快照
下列各節說明如何在 中使用 Maven 總和檢查碼和 Maven 快照 CodeCatalyst。
使用 Maven 總和檢查碼
當 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 快照
Maven 快照是 Maven 套件的特殊版本,其參考最新的生產分支程式碼。這是最終版本之前的開發版本。您可以透過SNAPSHOT
附加到套件版本的字尾來識別 Maven 套件的快照版本。例如, 版本的快照1.1
為 1.1-SNAPSHOT
。如需詳細資訊,請參閱 Apache Maven Project 網站上的什麼版本SNAPSHOT?
CodeCatalyst 支援發佈和使用 Maven 快照。您可以將 Maven 快照發佈至 CodeCatalyst 儲存庫,或者,如果您直接連線至上游儲存庫。不過,不支援套件儲存庫及其其中一個上游儲存庫中的快照版本。例如,如果您將版本為 的 Maven 套件上傳1.2-SNAPSHOT
到套件儲存庫, CodeCatalyst 不支援將具有相同快照版本的 Maven 套件上傳到其其中一個上游儲存庫。此案例可能會傳回無法預測的結果。
發佈 Maven 快照時,其先前版本會保留在稱為建置 的新版本中。每次發佈 Maven 快照時,都會建立新的建置版本。快照的所有先前版本都會保留在其建置版本中。發佈 Maven 快照時,其狀態會設為 ,Published
而包含先前版本的建置狀態會設為 Unlisted
。
如果您請求快照,Published
則會傳回狀態為 的版本。這始終是 Maven 快照的最新版本。您也可以請求特定建置快照。
若要刪除 Maven 快照的所有建置版本,請使用 CodeCatalyst 主控台。