如何在Gradle文件中定义从Azure Artifacts下载的依赖项
问题解决步骤
1. 修正依赖坐标写法
你当前报错的核心原因是依赖坐标格式错误:
Maven/Gradle的依赖格式为groupId:artifactId:version,和你Azure Artifacts的源名称没有任何关系,和你从Maven Central拉取Spring Boot依赖的写法完全一致。
你需要先进入Azure DevOps的Artifacts页面,找到你上传的commons:0.0.1包,直接复制页面给出的Gradle依赖声明即可,示例格式如下(替换为你实际的groupId):
implementation 'com.yourcompany:commons:0.0.1'
2. 优化认证配置适配多环境
你当前用Maven的settings.xml配置认证是可用的,不过有更适配Gradle的方案,可以同时兼容本地开发和Azure流水线环境,不需要修改项目构建脚本:
本地开发环境
在你本地的~/.gradle/gradle.properties文件中添加以下配置,Gradle会自动匹配对应名称的Maven源的认证信息:
<my-feed>@ReleaseUsername=<你的Azure DevOps用户名> <my-feed>@ReleasePassword=<你从Azure门户生成的PAT令牌>
注意:这里的配置前缀
<my-feed>@Release必须和你build.gradle中定义的Maven源的name属性完全一致。
Azure流水线环境
不需要在代码中硬编码令牌,直接按以下步骤配置即可:
- 先给当前项目的构建服务账户授予Azure Artifacts源的读取权限
- 在流水线的变量配置中,新增两个变量:
- 变量名:
<my-feed>@ReleaseUsername,值填任意非空字符串即可(Azure内置令牌认证不需要真实用户名) - 变量名:
<my-feed>@ReleasePassword,值填$(System.AccessToken)(Azure DevOps内置的流水线访问令牌,会自动生成)
- 变量名:
配置完成后,本地和流水线都可以正常拉取Azure Artifacts中的依赖,不需要修改build.gradle的原有代码。
内容的提问来源于stack exchange,提问作者slipperypete
相关产品推荐
相关产品推荐

