Artifact Registry 支持您使用 Maven 和 Gradle 构建的 Java 软件包。
概览
如需熟悉 Artifact Registry 中的 Java 软件包,您可以尝试使用 快速入门。
当您准备好了解详情时,请阅读以下信息:
- 为软件包创建 Java 软件包代码库。
- 了解如何创建远程和虚拟代码库。
- 阅读本手册,了解如何使用远程代码库和虚拟代码库 代码库使用示例。
- 向将与代码库连接的账号授予权限。用于常见集成的服务账号 具有 Artifact Registry 的以下项目的默认权限: 多个代码库。
- 配置工具:
- 为 Maven 或 Gradle 配置身份验证。
- 如果您想使用 sbt 作为 Scala 和 Java 的构建工具,而不是使用 Maven 或 Gradle,可以使用社区创建的 sbt 插件。本文档未介绍 Scala 客户端的配置或使用。
- 配置 Cloud Build 以上传和下载软件包。
- 了解如何部署到 Google Cloud 运行时环境。
- 了解如何管理软件包。
Maven 快照和发布版本
Maven 会区分 Maven 项目的快照版本和发布版本。
快照
快照是 Java 项目的预发布版本。版本号
快照在项目对象模型中包含后缀 -SNAPSHOT
(POM)。例如,pom.xml
文件中的以下设置适用于处于开发阶段的项目的 1.0
版本:
<version>1.0-SNAPSHOT</version>
当您从此项目发布软件包时,Maven 3 会自动附加 快照版本号的时间戳 唯一。Maven 2 支持非唯一快照版本,以便覆盖代码库中的现有快照。这种方法会导致 build 的可重复性问题,因此 Maven 3 不再支持非唯一快照。
借助快照,您可以迭代发布预发布软件包的更新版本,而无需每次发布到代码库时都递增 Maven 项目中的版本号。然后,在开发过程中,与该软件包有依赖项的其他项目可以从代码库中获取版本 1.0
的最新快照。
如需详细了解 Maven 版本号语法和排序顺序,请参阅版本顺序规范。
版本
当您准备发布软件包时,请从 POM 文件中的版本号中移除 -SNAPSHOT
后缀,并更新依赖于该软件包的所有项目,以便它们使用发布版本而非快照版本。
如需列出所有快照依赖项,您可以 过滤依赖项树 命令:
mvn dependency:tree -Dincludes=:::*-SNAPSHOT
Artifact Registry 版本政策
在 Artifact Registry 中创建 Maven 制品库时,您可以指定 Maven 版本政策:
- 无 - 同时存储快照和发布软件包。这是默认设置。
- 快照 - 仅存储快照软件包。
- 发布 - 商店仅发布软件包。
如果您选择快照版本政策,还可以指定代码库是否允许非唯一快照版本覆盖代码库中的匹配版本。我们建议使用唯一的版本,因为 Maven 3 不支持非唯一版本模型。