缺少 Azure Maven 任务输出
Posted
技术标签:
【中文标题】缺少 Azure Maven 任务输出【英文标题】:Azure Maven task output missing 【发布时间】:2021-08-22 21:42:02 【问题描述】:我使用 Maven 任务创建了一个 Azure 管道来构建一组 Web 应用程序。已创建工件提要,并将所需的 [repository] 和 [distributionManagement] 部分添加到根 pom 文件中,如下所示:
<repositories>
<repository>
<id>ion-wildfly-pipeline-feed</id>
<url>https://pkgs.dev.azure.com/MYFEEDNAME</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<distributionManagement>
<repository>
<id>ion-wildfly-pipeline-feed</id>
<url>https://pkgs.dev.azure.com/MYFEEDNAME</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</distributionManagement>
管道作业完成且没有错误。在工件提要中,我可以看到在构建过程中下载了很多依赖项,但生成的 .war 文件不存在。
知道我错过了什么吗? Maven build 命令的结果在哪里结束?不应该是指定的工件提要吗?
编辑以添加管道 yaml:
触发器:
主人池: vmImage:ubuntu 最新版
步骤:
任务:Maven@3 输入: mavenPomFile: 'pom.xml'
mavenOptions: '-Xmx3072m -DartifactId=ion-wildfly-pipeline-feed'
javaHomeOption: 'JDKVersion'
jdkVersionOption: '1.8'
jdkArchitectureOption: 'x64'
publishJUnitResults: true
testResultsFiles: '**/surefire-reports/TEST-*.xml'
目标:“包裹”
mavenAuthenticateFeed: true
【问题讨论】:
Azure 管道的 YAML 是什么样的? 我将它添加到原始帖子中。这里不适合。这是相当标准的,虽然我确实发现我必须添加 mavenAuthenticateFeed: true 【参考方案1】:如果你想生成war文件,我认为你应该将你的项目定义为war类型的包装,并在编译时添加maven插件来生成war:
.....
<packaging>war</packaging>
....
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<attachClasses>true</attachClasses>
<webXml>xxx/web.xml</webXml>
<webResources>
<resource>
<directory>xxx/xxx</directory>
<filtering>true</filtering>
</resource>
</webResources>
</configuration>
</plugin>
...
【讨论】:
我有。当我从命令行运行 maven 时,war 文件创建得很好。以上是关于缺少 Azure Maven 任务输出的主要内容,如果未能解决你的问题,请参考以下文章
得到'缺少一个任务。管道引用了一个名为“缓存”的任务。 Azure 管道中的错误
用于在 azure devops.Apache maven 上创建基于 java 的 Web 应用程序的管道以创建 build 。下面的yaml代码和我得到的输出错误
Azure 逻辑应用 - 解析 JSON 架构失败“对象中缺少必需的属性”
Azure DevOps 管道“正在等待来自代理的控制台输出......”