使用 Google Maven 存储库的包

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

借助 Azure Artifacts,开发人员可以启用上游源来使用来自不同公共注册表(如 Google Maven 存储库)的包。 启用后,Azure Artifacts 将自动保存从上游安装的任何包的副本。 此外,Azure Artifacts 还支持其他 Maven 上游源,例如 Maven Central、Gradle 插件和 JitPack。 本文将指导如何进行以下操作:

  • 将 Google Maven 存储库添加为上游源
  • 从 上游 使用包
  • 在源中查找已保存的包

先决条件

  • Azure DevOps 组织和项目。 创建 组织项目 (如果尚未创建)。

  • Azure Artifacts 源。

启用上游源

如果还没有源,请按照下面的说明创建新源,并确保检查上游源检查框启用它们。 如果已有源,请跳转到下一步,将 Google Maven 存储库添加为上游源:

  1. 登录到 Azure DevOps 组织,并导航到你的项目。

  2. 选择 “项目”,然后选择“创建源” 以创建新源

  3. 输入源的描述性 名称 并定义其 可见性 (指示谁可以查看源中的包)。 指定源的范围,如果要包含来自公共源的包,请将上游源标记为检查框。

  4. 完成操作后,选择“创建”

    显示如何创建所需源的屏幕截图。

注意

默认情况下,新建的源将项目的生成服务设置为“源”和“上游读取者”(协作者)。

添加 Google Maven 存储库上游

如果在创建源时检查上游检查框,则 Google Maven 存储库应已添加为上游源。 如果没有,可以使用以下步骤手动添加它:

  1. 登录到 Azure DevOps 组织,并导航到你的项目。

  2. 选择“项目”,然后选择右上角的齿轮图标齿轮图标以导航到源设置

  3. 选择 上游源,然后选择“ 添加上游”。

  4. 选择“公共源”,然后从下拉菜单中选择 Google Maven 存储库()。https://maven.google.com/web/index.html

  5. 完成后,选择“保存,然后在右上角再次选择“保存”以保存更改。

注意

Maven 上游源不支持 Maven 快照。

从 Google Maven 存储库保存包

在保存 Google Maven 存储库中的包之前,请确保已设置项目以连接到源。 如果尚未这样做,请按照项目设置中的说明设置 Maven 项目并连接到源。

在此示例中,我们将保存 Google Maven 存储库中的 Zipflinger 库。

  1. 导航到 Google Maven 存储库。https://mvnrepository.com/

  2. 搜索 Zipflinger 库。 选择 Zipflinger 包,然后选择要安装的版本。

  3. <dependency>Maven 选项卡复制代码片段。

    <dependency>
        <groupId>com.android</groupId>
        <artifactId>zipflinger</artifactId>
        <version>8.3.0-alpha13</version>
    </dependency>
    
  4. 打开pom.xml文件并将代码片段粘贴到标记中<dependencies>,然后保存文件。

  5. 从pom.xml文件所在的同一路径运行以下命令以安装依赖项:

    mvn install
    

注意

若要从 上游 保存包,必须具有源和上游读取者(协作者)角色或更高版本。 有关详细信息,请参阅 权限

查看保存的包

若要查看从上游安装的包,请从下拉菜单中选择 Google Maven 存储库源。

  1. 登录到 Azure DevOps 组织,并导航到你的项目。

  2. 选择“ 项目”,然后从下拉菜单中选择源。

  3. 从下拉菜单中选择 Google Maven 存储库源,从此上游查找包。

  4. 在上一步中保存的 Zipflinger 包现在在我们的源中可用,因为执行 mvn install 命令时,Azure Artifacts 会自动保存副本。

    显示 Google Maven 存储库中包的屏幕截图。

提示

如果 Maven 未下载所有依赖项,请从项目目录运行以下命令以重新生成项目的文件: mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true