如何在Azure流水线中用Maven构建jar包并复制到Artifactory?
排查步骤
1. 核对Maven任务执行日志
- 点开本次流水线运行的Maven@3任务详情,搜索关键词
BUILD SUCCESS,确认Maven构建实际执行成功,没有因为跳过构建步骤、未触发对应打包profile导致无产物生成 - 查看日志中输出的jar包生成路径,和你配置的target目录做比对,确认路径是否匹配
2. 校验路径配置正确性
- YAML中的
<project-name>是占位符,确认你实际运行的配置中已经替换为真实的项目目录名,如果路径填写错误,部分场景下Maven会默认返回执行成功但不运行任何构建逻辑 - 可以在Maven任务前临时加一个命令行任务打印工作目录结构,确认路径是否存在:
Linux代理执行:
Windows代理执行:ls -R $(system.defaultWorkingDirectory)Get-ChildItem $(system.defaultWorkingDirectory) -Recurse
3. 检查pom.xml打包配置
- 确认pom.xml中没有配置
<packaging>pom</packaging>,该配置会导致package阶段不生成jar包 - 确认pom.xml中已正确配置
maven-jar-plugin等打包插件,且没有配置跳过package阶段的规则
4. 调整CopyFiles任务匹配规则
- 当前配置的
contents为固定值filename.jar,确认实际生成的jar包名称和该值完全一致(包含版本号),如果不确定可以修改为通配符匹配所有jar包:'*.jar',也可以用'**/*.jar'递归查找目标目录下的所有jar文件 - 可以在CopyFiles任务前添加命令行任务,打印
$(system.defaultWorkingDirectory)/<project-name>/target下的文件列表,确认构建后是否真的有文件生成
5. 检查工作目录清理规则
- 确认流水线没有配置额外的工作目录清理规则,避免构建完成后jar包被自动删除
内容的提问来源于stack exchange,提问作者humble
相关产品推荐
相关产品推荐

