本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 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 程序包的特殊版本,该版本引用了最新的生产分支代码。它是先于最终发布版本的开发版本。您可以通过附加到软件包版本的后缀来识别 Maven 软件包SNAPSHOT
的快照版本。例如,版本 1.1
的快照是 1.1-SNAPSHOT
。有关更多信息,请参阅什么是SNAPSHOT版本?
CodeCatalyst 支持发布和使用 Maven 快照。您可以将 Maven 快照发布到 CodeCatalyst 存储库,或者(如果您直接连接)发布到上游存储库。但是,不支持软件包存储库及其上游存储库中的快照版本。例如,如果您将带有版本的 Maven 包上传1.2-SNAPSHOT
到您的软件包存储库,则 CodeCatalyst 不支持将具有相同快照版本的 Maven 包上传到其上游存储库之一。这种情况可能会返回不可预测的结果。
发布 Maven 快照时,其先前版本将保留在名为 b uild 的新版本中。每次发布 Maven 快照时,都会创建一个新的构建版本。快照的所有先前版本都保留在其构建版本中。发布 Maven 快照时,其状态将设置为Published
,包含先前版本的版本的版本的状态设置为Unlisted
。
如果您请求快照,则会返回带有Published
状态的版本。这始终是 Maven 快照的最新版本。您也可以请求特定的快照版本。
要删除 Maven 快照的所有构建版本,请使用 CodeCatalyst 控制台。