管理 Java 软件包

Artifact Registry 支持您使用 Maven 和 Gradle 构建的 Java 软件包。

概览

如需熟悉 Artifact Registry 中的 Java 软件包,您可以尝试quickstart。您还可以观看概览视频

当您准备好了解详情时,请阅读以下信息:

  1. 为您的软件包创建 Java 软件包代码库
  2. 了解如何创建远程虚拟代码库。
  3. 阅读此代码库使用示例,了解如何使用远程代码库和虚拟代码库。
  4. 向将与代码库关联的帐号授予权限。与 Artifact Registry 进行常见集成的服务帐号对同一项目中的代码库拥有默认权限
  5. 配置工具:
  6. 了解如何管理软件包

Maven 快照和发布版本

Maven 可区分 Maven 项目的快照版本和发布版本。

快照

快照是 Java 项目的预发布版本。快照的版本号包含项目对象模型 (POM) 中的后缀 -SNAPSHOT。例如,pom.xml 文件中的此设置适用于处于开发阶段的 1.0 版本:

<version>1.0-SNAPSHOT</version>

当您从此项目发布软件包时,Maven 3 会自动为快照版本号附加一个时间戳,使每个快照版本都是唯一的。Maven 2 支持使用非唯一快照版本,以此来覆盖代码库中的现有快照。这种方法会给构建的可再现性带来问题,因此 Maven 3 不再支持非唯一快照。

快照提供了一种方法,让您能够以迭代方式发布预发布软件包的更新版本,而无需在每次发布到代码库时都递增 Maven 项目中的版本号。在开发期间,依赖于该软件包的其他项目可以从代码库中获取版本 1.0 的最新快照。

如需详细了解 Maven 版本号语法和排序顺序,请参阅版本顺序规范

版本

当您准备好发布软件包时,请从 POM 文件中的版本号中移除 -SNAPSHOT 后缀,并更新依赖于该软件包的所有项目,以便它们使用发布版本而不是快照版本。

如需列出所有快照依赖项,可以使用以下命令过滤依赖项树

mvn dependency:tree -Dincludes=:::*-SNAPSHOT

Artifact Registry 版本政策

在 Artifact Registry 中创建 Maven 代码库时,您可以指定 Maven 版本政策:

  • 无 - 存储快照和发布软件包。这是默认设置。
  • 快照 - 仅存储快照软件包。
  • 发布 - 仅存储发布包。

如果选择快照版本政策,您还可以指定代码库是否允许使用覆盖代码库中匹配版本的非唯一快照版本。我们建议您使用唯一版本,因为 Maven 3 不支持非唯一版本模型。

视频概览

此视频简要介绍 Artifact Registry,并说明如何将 Artifact Registry 与 Cloud Build 搭配使用来共同处理 Java 软件包。如需详细了解如何将 Cloud Build 与 Artifact Registry 搭配使用,请参阅与 Cloud Build 集成