gpt4 book ai didi

azure - 使用azure dev-ops管道maven任务中的设置文件来解决依赖关系

转载 作者:行者123 更新时间:2023-12-03 07:00:08 24 4
gpt4 key购买 nike

我需要使用设置文件(用于解析内部存储库中的某些依赖项)在 Azure dev-ops 管道中运行 Maven 任务。我可以使用“DownloadSecureFile@1”任务获取该文件,然后可以将其复制到默认工作目录。在 bash 任务中,我可以使用构建项目

mvn -s settings.xml verify

但是我需要使用“Maven@3”任务运行 Maven 目标(测试覆盖率和 SonarQube 分析配置是用它完成的)。如果我指定设置参数

          - task: Maven@3
displayName: Build and run tests
inputs:
mavenPomFile: "pom.xml"
# mavenOptions: "-s settings.xml -Xmx512m $(MAVEN_OPTS)"
mavenOptions: "-Xmx512m $(MAVEN_OPTS) --settings settings.xml"
javaHomeOption: "JDKVersion"
jdkVersionOption: "1.11"
jdkArchitectureOption: "x64"
publishJUnitResults: false
goals: "verify"
sonarQubeRunAnalysis: true

(MAVEN_OPTS 只是一个使用 -Dmaven.repo.local 定义本地存储库的变量)任务失败并出现以下错误:

error

Maven已安装,如果没有设置参数,它将失败,因为它无法解析依赖项。如果我使用“-s”而不是“--settings”,也会发生同样的事情。

使用“ArtifactoryMaven@2”任务我能够执行目标,但它似乎没有“Maven@3”任务的所有选项,而且我不知道如何获取它使用特定的存储库来缓存依赖项。

最佳答案

根据任务定义,您在 ma​​venOptions 字段中定义了 -s settings.xml

这是此问题的根本原因。

您需要在Option字段中定义settings.xml。

例如:选项:'-s settings.xml'

      - task: Maven@3
displayName: Build and run tests
inputs:
mavenPomFile: "pom.xml"
options: '-s settings.xml'
mavenOptions: "-Xmx512m $(MAVEN_OPTS)"
javaHomeOption: "JDKVersion"
jdkVersionOption: "1.11"
jdkArchitectureOption: "x64"
publishJUnitResults: false
goals: "verify"
sonarQubeRunAnalysis: true

引用文档:Maven task

关于azure - 使用azure dev-ops管道maven任务中的设置文件来解决依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72529113/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com