You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Azure Pipelines中发布含EAR文件的完整target文件夹

问题分析

你当前的PublishBuildArtifacts@1任务发布的是$(build.artifactstagingdirectory)目录,但Maven构建生成的EAR文件和target文件夹内容并未被同步到这个目录,所以导致仅发布了空目录或部分无关内容。

解决方案

以下两种方法都可以实现完整发布target文件夹的需求:

方法一:先复制target内容到工件暂存目录再发布

添加CopyFiles@2任务,将target文件夹的所有内容复制到$(build.artifactstagingdirectory),之后再执行发布操作:

# 复制target文件夹所有内容到构建工件暂存目录
- task: CopyFiles@2
  displayName: 'Copy target folder to artifact staging directory'
  inputs:
    SourceFolder: '$(System.DefaultWorkingDirectory)/target'
    Contents: '**/*'
    TargetFolder: '$(build.artifactstagingdirectory)'

# 发布工件
- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact: drop'
  inputs:
    PathtoPublish: '$(build.artifactstagingdirectory)'
  condition: succeededOrFailed()

方法二:直接发布target文件夹

修改PublishBuildArtifacts@1任务的PathtoPublish参数,直接指向Maven构建产物所在的target文件夹,省去复制步骤:

- task: PublishBuildArtifacts@1
  displayName: 'Publish Artifact: drop'
  inputs:
    PathtoPublish: '$(System.DefaultWorkingDirectory)/target'
  condition: succeededOrFailed()
验证步骤(可选)

如果不确定target文件夹路径或内容是否正确,可以在流水线中添加任务打印目录内容,确认EAR文件存在:

- task: PowerShell@2
  displayName: 'Verify target folder contents'
  inputs:
    targetType: 'inline'
    script: |
      Get-ChildItem -Path $(System.DefaultWorkingDirectory)/target -Recurse

内容的提问来源于stack exchange,提问作者INAR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 00:55:17