Maven@3 - Maven v3 任务

使用此任务通过 Apache Maven 生成、测试和部署。

语法

# Maven v3
# Build, test, and deploy with Apache Maven.
- task: Maven@3
  inputs:
    mavenPOMFile: 'pom.xml' # string. Required. Maven POM file. Default: pom.xml.
    #goals: 'package' # string. Goal(s). Default: package.
    #options: # string. Options. 
  # JUnit Test Results
    publishJUnitResults: true # boolean. Required. Publish to Azure Pipelines. Default: true.
    testResultsFiles: '**/surefire-reports/TEST-*.xml' # string. Required when publishJUnitResults = true. Test results files. Default: **/surefire-reports/TEST-*.xml.
    #testRunTitle: # string. Optional. Use when publishJUnitResults = true. Test run title. 
    #allowBrokenSymlinks: true # boolean. Alias: allowBrokenSymbolicLinks. Optional. Use when publishJUnitResults = true. Allow broken symbolic links. Default: true.
  # Code Coverage
    #codeCoverageToolOption: 'None' # 'None' | 'Cobertura' | 'JaCoCo'. Alias: codeCoverageTool. Code coverage tool. Default: None.
    #codeCoverageClassFilter: # string. Alias: classFilter. Optional. Use when codeCoverageTool != None. Class inclusion/exclusion filters. 
    #codeCoverageClassFilesDirectories: # string. Alias: classFilesDirectories. Optional. Use when codeCoverageTool = JaCoCo. Class files directories. 
    #codeCoverageSourceDirectories: # string. Alias: srcDirectories. Optional. Use when codeCoverageTool = JaCoCo. Source files directories. 
    #codeCoverageFailIfEmpty: false # boolean. Alias: failIfCoverageEmpty. Optional. Use when codeCoverageTool != None. Fail when code coverage results are missing. Default: false.
    #codeCoverageRestoreOriginalPomXml: false # boolean. Alias: restoreOriginalPomXml. Optional. Use when codeCoverageTool != None. Restore original pom.xml after task execution. Default: false.
  # Advanced
    javaHomeOption: 'JDKVersion' # 'JDKVersion' | 'Path'. Alias: javaHomeSelection. Required. Set JAVA_HOME by. Default: JDKVersion.
    #jdkVersionOption: 'default' # 'default' | '1.17' | '1.11' | '1.10' | '1.9' | '1.8' | '1.7' | '1.6'. Alias: jdkVersion. Optional. Use when javaHomeSelection = JDKVersion. JDK version. Default: default.
    #jdkDirectory: # string. Alias: jdkUserInputPath. Required when javaHomeSelection = Path. JDK path. 
    #jdkArchitectureOption: 'x64' # 'x86' | 'x64'. Alias: jdkArchitecture. Optional. Use when jdkVersion != default. JDK architecture. Default: x64.
    mavenVersionOption: 'Default' # 'Default' | 'Path'. Alias: mavenVersionSelection. Required. Maven version. Default: Default.
    #mavenDirectory: # string. Alias: mavenPath. Required when mavenVersionSelection = Path. Maven path. 
    #mavenSetM2Home: false # boolean. Required when mavenVersionSelection = Path. Set M2_HOME variable. Default: false.
    #mavenOptions: '-Xmx1024m' # string. Alias: mavenOpts. Set MAVEN_OPTS to. Default: -Xmx1024m.
    mavenAuthenticateFeed: false # boolean. Alias: mavenFeedAuthenticate. Required. Authenticate built-in Maven feeds. Default: false.
    effectivePomSkip: false # boolean. Alias: skipEffectivePom. Required. Skip generating effective POM while authenticating built-in feeds. Default: false.
  # Code Analysis
    sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Required. Run SonarQube or SonarCloud analysis. Default: false.
    #isJacocoCoverageReportXML: false # boolean. Optional. Use when sqAnalysisEnabled = true && codeCoverageTool = JaCoCo. Use XML Jacoco reports for SonarQube analysis. Default: false.
    #sqMavenPluginVersionChoice: 'latest' # 'latest' | 'pom'. Required when sqAnalysisEnabled = true. SonarQube scanner for Maven version. Default: latest.
    #checkStyleRunAnalysis: false # boolean. Alias: checkstyleAnalysisEnabled. Run Checkstyle. Default: false.
    #pmdRunAnalysis: false # boolean. Alias: pmdAnalysisEnabled. Run PMD. Default: false.
    #findBugsRunAnalysis: false # boolean. Alias: findbugsAnalysisEnabled. Run FindBugs. Default: false.
    #spotBugsRunAnalysis: false # boolean. Alias: spotBugsAnalysisEnabled. Run SpotBugs analysis. Default: false.
    #spotBugsVersion: '4.5.3.0' # string. Alias: spotBugsMavenPluginVersion. Optional. Use when spotBugsAnalysisEnabled = true. Version number. Default: 4.5.3.0.
    #spotBugsGoal: 'spotbugs' # 'spotbugs' | 'check'. Optional. Use when spotBugsAnalysisEnabled = true. The goal for the spotbugs plugin. Default: spotbugs.
    #failWhenBugsFound: true # boolean. Alias: spotBugsFailWhenBugsFound | sbFailWhenBugsFound. Optional. Use when spotBugsAnalysisEnabled = true && spotBugsGoal = check. Fail when bugs are found with spotbugs:check. Default: true.
# Maven v3
# Build, test, and deploy with Apache Maven.
- task: Maven@3
  inputs:
    mavenPOMFile: 'pom.xml' # string. Required. Maven POM file. Default: pom.xml.
    #goals: 'package' # string. Goal(s). Default: package.
    #options: # string. Options. 
  # JUnit Test Results
    publishJUnitResults: true # boolean. Required. Publish to Azure Pipelines. Default: true.
    testResultsFiles: '**/surefire-reports/TEST-*.xml' # string. Required when publishJUnitResults = true. Test results files. Default: **/surefire-reports/TEST-*.xml.
    #testRunTitle: # string. Optional. Use when publishJUnitResults = true. Test run title. 
  # Code Coverage
    #codeCoverageToolOption: 'None' # 'None' | 'Cobertura' | 'JaCoCo'. Alias: codeCoverageTool. Code coverage tool. Default: None.
    #codeCoverageClassFilter: # string. Alias: classFilter. Optional. Use when codeCoverageTool != None. Class inclusion/exclusion filters. 
    #codeCoverageClassFilesDirectories: # string. Alias: classFilesDirectories. Optional. Use when codeCoverageTool = JaCoCo. Class files directories. 
    #codeCoverageSourceDirectories: # string. Alias: srcDirectories. Optional. Use when codeCoverageTool = JaCoCo. Source files directories. 
    #codeCoverageFailIfEmpty: false # boolean. Alias: failIfCoverageEmpty. Optional. Use when codeCoverageTool != None. Fail when code coverage results are missing. Default: false.
    #codeCoverageRestoreOriginalPomXml: false # boolean. Alias: restoreOriginalPomXml. Optional. Use when codeCoverageTool != None. Restore original pom.xml after task execution. Default: false.
  # Advanced
    javaHomeOption: 'JDKVersion' # 'JDKVersion' | 'Path'. Alias: javaHomeSelection. Required. Set JAVA_HOME by. Default: JDKVersion.
    #jdkVersionOption: 'default' # 'default' | '1.11' | '1.10' | '1.9' | '1.8' | '1.7' | '1.6'. Alias: jdkVersion. Optional. Use when javaHomeSelection = JDKVersion. JDK version. Default: default.
    #jdkDirectory: # string. Alias: jdkUserInputPath. Required when javaHomeSelection = Path. JDK path. 
    #jdkArchitectureOption: 'x64' # 'x86' | 'x64'. Alias: jdkArchitecture. Optional. Use when jdkVersion != default. JDK architecture. Default: x64.
    mavenVersionOption: 'Default' # 'Default' | 'Path'. Alias: mavenVersionSelection. Required. Maven version. Default: Default.
    #mavenDirectory: # string. Alias: mavenPath. Required when mavenVersionSelection = Path. Maven path. 
    #mavenSetM2Home: false # boolean. Required when mavenVersionSelection = Path. Set M2_HOME variable. Default: false.
    #mavenOptions: '-Xmx1024m' # string. Alias: mavenOpts. Set MAVEN_OPTS to. Default: -Xmx1024m.
    mavenAuthenticateFeed: false # boolean. Alias: mavenFeedAuthenticate. Required. Authenticate built-in Maven feeds. Default: false.
    effectivePomSkip: false # boolean. Alias: skipEffectivePom. Required. Skip generating effective POM while authenticating built-in feeds. Default: false.
  # Code Analysis
    sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Required. Run SonarQube or SonarCloud analysis. Default: false.
    #isJacocoCoverageReportXML: false # boolean. Optional. Use when sqAnalysisEnabled = true && codeCoverageTool = JaCoCo. Use XML Jacoco reports for SonarQube analysis. Default: false.
    #sqMavenPluginVersionChoice: 'latest' # 'latest' | 'pom'. Required when sqAnalysisEnabled = true. SonarQube scanner for Maven version. Default: latest.
    #checkStyleRunAnalysis: false # boolean. Alias: checkstyleAnalysisEnabled. Run Checkstyle. Default: false.
    #pmdRunAnalysis: false # boolean. Alias: pmdAnalysisEnabled. Run PMD. Default: false.
    #findBugsRunAnalysis: false # boolean. Alias: findbugsAnalysisEnabled. Run FindBugs. Default: false.
# Maven v3
# Build, test, and deploy with Apache Maven.
- task: Maven@3
  inputs:
    mavenPOMFile: 'pom.xml' # string. Required. Maven POM file. Default: pom.xml.
    #goals: 'package' # string. Goal(s). Default: package.
    #options: # string. Options. 
  # JUnit Test Results
    publishJUnitResults: true # boolean. Required. Publish to Azure Pipelines. Default: true.
    testResultsFiles: '**/surefire-reports/TEST-*.xml' # string. Required when publishJUnitResults = true. Test results files. Default: **/surefire-reports/TEST-*.xml.
    #testRunTitle: # string. Optional. Use when publishJUnitResults = true. Test run title. 
  # Code Coverage
    #codeCoverageToolOption: 'None' # 'None' | 'Cobertura' | 'JaCoCo'. Alias: codeCoverageTool. Code coverage tool. Default: None.
    #codeCoverageClassFilter: # string. Alias: classFilter. Optional. Use when codeCoverageTool != None. Class inclusion/exclusion filters. 
    #codeCoverageClassFilesDirectories: # string. Alias: classFilesDirectories. Optional. Use when codeCoverageTool = JaCoCo. Class files directories. 
    #codeCoverageSourceDirectories: # string. Alias: srcDirectories. Optional. Use when codeCoverageTool = JaCoCo. Source files directories. 
    #codeCoverageFailIfEmpty: false # boolean. Alias: failIfCoverageEmpty. Optional. Use when codeCoverageTool != None. Fail when code coverage results are missing. Default: false.
  # Advanced
    javaHomeOption: 'JDKVersion' # 'JDKVersion' | 'Path'. Alias: javaHomeSelection. Required. Set JAVA_HOME by. Default: JDKVersion.
    #jdkVersionOption: 'default' # 'default' | '1.11' | '1.10' | '1.9' | '1.8' | '1.7' | '1.6'. Alias: jdkVersion. Optional. Use when javaHomeSelection = JDKVersion. JDK version. Default: default.
    #jdkDirectory: # string. Alias: jdkUserInputPath. Required when javaHomeSelection = Path. JDK path. 
    #jdkArchitectureOption: 'x64' # 'x86' | 'x64'. Alias: jdkArchitecture. Optional. Use when jdkVersion != default. JDK architecture. Default: x64.
    mavenVersionOption: 'Default' # 'Default' | 'Path'. Alias: mavenVersionSelection. Required. Maven version. Default: Default.
    #mavenDirectory: # string. Alias: mavenPath. Required when mavenVersionSelection = Path. Maven path. 
    #mavenSetM2Home: false # boolean. Required when mavenVersionSelection = Path. Set M2_HOME variable. Default: false.
    #mavenOptions: '-Xmx1024m' # string. Alias: mavenOpts. Set MAVEN_OPTS to. Default: -Xmx1024m.
    mavenAuthenticateFeed: false # boolean. Alias: mavenFeedAuthenticate. Required. Authenticate built-in Maven feeds. Default: false.
    effectivePomSkip: false # boolean. Alias: skipEffectivePom. Required. Skip generating effective POM while authenticating built-in feeds. Default: false.
  # Code Analysis
    sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Required. Run SonarQube or SonarCloud analysis. Default: false.
    #sqMavenPluginVersionChoice: 'latest' # 'latest' | 'pom'. Required when sqAnalysisEnabled = true. SonarQube scanner for Maven version. Default: latest.
    #checkStyleRunAnalysis: false # boolean. Alias: checkstyleAnalysisEnabled. Run Checkstyle. Default: false.
    #pmdRunAnalysis: false # boolean. Alias: pmdAnalysisEnabled. Run PMD. Default: false.
    #findBugsRunAnalysis: false # boolean. Alias: findbugsAnalysisEnabled. Run FindBugs. Default: false.
# Maven v3
# Build, test, and deploy with Apache Maven.
- task: Maven@3
  inputs:
    mavenPOMFile: 'pom.xml' # string. Required. Maven POM file. Default: pom.xml.
    #goals: 'package' # string. Goal(s). Default: package.
    #options: # string. Options. 
  # JUnit Test Results
    publishJUnitResults: true # boolean. Required. Publish to Azure Pipelines. Default: true.
    testResultsFiles: '**/surefire-reports/TEST-*.xml' # string. Required when publishJUnitResults = true. Test results files. Default: **/surefire-reports/TEST-*.xml.
    #testRunTitle: # string. Optional. Use when publishJUnitResults = true. Test run title. 
  # Code Coverage
    #codeCoverageToolOption: 'None' # 'None' | 'Cobertura' | 'JaCoCo'. Alias: codeCoverageTool. Code coverage tool. Default: None.
    #codeCoverageClassFilter: # string. Alias: classFilter. Optional. Use when codeCoverageTool != None. Class inclusion/exclusion filters. 
    #codeCoverageClassFilesDirectories: # string. Alias: classFilesDirectories. Optional. Use when codeCoverageTool = JaCoCo. Class files directories. 
    #codeCoverageSourceDirectories: # string. Alias: srcDirectories. Optional. Use when codeCoverageTool = JaCoCo. Source files directories. 
    #codeCoverageFailIfEmpty: false # boolean. Alias: failIfCoverageEmpty. Optional. Use when codeCoverageTool != None. Fail when code coverage results are missing. Default: false.
  # Advanced
    javaHomeOption: 'JDKVersion' # 'JDKVersion' | 'Path'. Alias: javaHomeSelection. Required. Set JAVA_HOME by. Default: JDKVersion.
    #jdkVersionOption: 'default' # 'default' | '1.11' | '1.10' | '1.9' | '1.8' | '1.7' | '1.6'. Alias: jdkVersion. Optional. Use when javaHomeSelection = JDKVersion. JDK version. Default: default.
    #jdkDirectory: # string. Alias: jdkUserInputPath. Required when javaHomeSelection = Path. JDK path. 
    #jdkArchitectureOption: 'x64' # 'x86' | 'x64'. Alias: jdkArchitecture. Optional. Use when jdkVersion != default. JDK architecture. Default: x64.
    mavenVersionOption: 'Default' # 'Default' | 'Path'. Alias: mavenVersionSelection. Required. Maven version. Default: Default.
    #mavenDirectory: # string. Alias: mavenPath. Required when mavenVersionSelection = Path. Maven path. 
    #mavenSetM2Home: false # boolean. Required when mavenVersionSelection = Path. Set M2_HOME variable. Default: false.
    #mavenOptions: '-Xmx1024m' # string. Alias: mavenOpts. Set MAVEN_OPTS to. Default: -Xmx1024m.
    mavenAuthenticateFeed: false # boolean. Alias: mavenFeedAuthenticate. Required. Authenticate built-in Maven feeds. Default: false.
  # Code Analysis
    sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Required. Run SonarQube or SonarCloud analysis. Default: false.
    #sqMavenPluginVersionChoice: 'latest' # 'latest' | 'pom'. Required when sqAnalysisEnabled = true. SonarQube scanner for Maven version. Default: latest.
    #checkStyleRunAnalysis: false # boolean. Alias: checkstyleAnalysisEnabled. Run Checkstyle. Default: false.
    #pmdRunAnalysis: false # boolean. Alias: pmdAnalysisEnabled. Run PMD. Default: false.
    #findBugsRunAnalysis: false # boolean. Alias: findbugsAnalysisEnabled. Run FindBugs. Default: false.
# Maven v3
# Build with Apache Maven.
- task: Maven@3
  inputs:
    mavenPOMFile: 'pom.xml' # string. Required. Maven POM file. Default: pom.xml.
    #goals: 'package' # string. Goal(s). Default: package.
    #options: # string. Options. 
  # JUnit Test Results
    publishJUnitResults: true # boolean. Required. Publish to Azure Pipelines/TFS. Default: true.
    testResultsFiles: '**/surefire-reports/TEST-*.xml' # string. Required when publishJUnitResults = true. Test results files. Default: **/surefire-reports/TEST-*.xml.
    #testRunTitle: # string. Optional. Use when publishJUnitResults = true. Test run title. 
  # Code Coverage
    #codeCoverageToolOption: 'None' # 'None' | 'Cobertura' | 'JaCoCo'. Alias: codeCoverageTool. Code coverage tool. Default: None.
    #codeCoverageClassFilter: # string. Alias: classFilter. Optional. Use when codeCoverageTool != None. Class inclusion/exclusion filters. 
    #codeCoverageClassFilesDirectories: # string. Alias: classFilesDirectories. Optional. Use when codeCoverageTool = JaCoCo. Class files directories. 
    #codeCoverageSourceDirectories: # string. Alias: srcDirectories. Optional. Use when codeCoverageTool = JaCoCo. Source files directories. 
    #codeCoverageFailIfEmpty: false # boolean. Alias: failIfCoverageEmpty. Optional. Use when codeCoverageTool != None. Fail when code coverage results are missing. Default: false.
  # Advanced
    javaHomeOption: 'JDKVersion' # 'JDKVersion' | 'Path'. Alias: javaHomeSelection. Required. Set JAVA_HOME by. Default: JDKVersion.
    #jdkVersionOption: 'default' # 'default' | '1.11' | '1.10' | '1.9' | '1.8' | '1.7' | '1.6'. Alias: jdkVersion. Optional. Use when javaHomeSelection = JDKVersion. JDK version. Default: default.
    #jdkDirectory: # string. Alias: jdkUserInputPath. Required when javaHomeSelection = Path. JDK path. 
    #jdkArchitectureOption: 'x64' # 'x86' | 'x64'. Alias: jdkArchitecture. Optional. Use when jdkVersion != default. JDK architecture. Default: x64.
    mavenVersionOption: 'Default' # 'Default' | 'Path'. Alias: mavenVersionSelection. Required. Maven version. Default: Default.
    #mavenDirectory: # string. Alias: mavenPath. Required when mavenVersionSelection = Path. Maven path. 
    #mavenSetM2Home: false # boolean. Required when mavenVersionSelection = Path. Set M2_HOME variable. Default: false.
    #mavenOptions: '-Xmx1024m' # string. Alias: mavenOpts. Set MAVEN_OPTS to. Default: -Xmx1024m.
    mavenAuthenticateFeed: false # boolean. Alias: mavenFeedAuthenticate. Required. Authenticate built-in Maven feeds. Default: false.
  # Code Analysis
    sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Required. Run SonarQube or SonarCloud analysis. Default: false.
    #sqMavenPluginVersionChoice: 'latest' # 'latest' | 'pom'. Required when sqAnalysisEnabled = true. SonarQube scanner for Maven version. Default: latest.
    #checkStyleRunAnalysis: false # boolean. Alias: checkstyleAnalysisEnabled. Run Checkstyle. Default: false.
    #pmdRunAnalysis: false # boolean. Alias: pmdAnalysisEnabled. Run PMD. Default: false.
    #findBugsRunAnalysis: false # boolean. Alias: findbugsAnalysisEnabled. Run FindBugs. Default: false.

输入

mavenPOMFile - Maven POM 文件
string. 必需。 默认值:pom.xml

指定从存储库根目录到 Maven POM 文件的相对路径。 有关详细信息 ,请参阅 POM 简介


goals - 目标 ()
string. 默认值:package

(可选) 设置为 以 package 编译代码并将其打包到 .war 文件中。 如果将此参数留空,生成将失败。 有关详细信息 ,请参阅 Maven 生成生命周期简介


options - 选项
string.

(可选) 指定要使用的任何 Maven 命令行选项。


publishJUnitResults - 发布到 Azure Pipelines
boolean. 必需。 默认值:true

指定将 Maven 生成生成的 JUnit 测试结果发布到 Azure Pipelines 的选项。 每个测试结果文件匹配 Test Results Files 都将发布为 Azure Pipelines 中的测试运行。


publishJUnitResults - 发布到 Azure Pipelines/TFS
boolean. 必需。 默认值:true

指定将 Maven 生成生成的 JUnit 测试结果发布到 Azure Pipelines/TFS 的选项。 每个测试结果文件匹配 Test Results Files 都将发布为 Azure Pipelines/TFS 中的测试运行。


testResultsFiles - 测试结果文件
string. 当 时 publishJUnitResults = true是必需的。 默认值:**/surefire-reports/TEST-*.xml

指定要发布的测试结果文件的路径和模式。
可以使用通配符。
有关 文件匹配模式的详细信息
例如, **/TEST-*.xml 对于名称以 TEST-开头的所有 XML 文件。 如果未指定根路径,则会在默认工作目录下匹配文件,其值在变量 $(System.DefaultWorkingDirectory)中可用。 例如, 的值**/TEST-*.xml实际上会导致 匹配的文件。$(System.DefaultWorkingDirectory)/**/TEST-*.xml


testRunTitle - 测试运行标题
string. 可选。 在 时 publishJUnitResults = true使用 。

指定测试运行的名称。


allowBrokenSymlinks - 允许断开的符号链接
输入别名: allowBrokenSymbolicLinksboolean. 可选。 在 时 publishJUnitResults = true使用 。 默认值:true

如果设置为 false,则当任务在发布测试结果时发现符号链接断开时生成失败。


codeCoverageToolOption - 代码覆盖率工具
输入别名: codeCoverageToolstring. 允许的值:NoneCoberturaJaCoCo。 默认值:None

指定代码覆盖率工具。 启用代码覆盖率会在 Maven 运行时将干净目标插入 Maven 目标列表中。


codeCoverageClassFilter - 类包含/排除筛选器
输入别名: classFilterstring. 可选。 在 时 codeCoverageTool != None使用 。

指定一个逗号分隔的筛选器列表,以包括或排除从收集代码覆盖率的类。 例如,+:com.*,+:org.*,-:my.app*.*


codeCoverageClassFilesDirectories - 类文件目录
输入别名: classFilesDirectoriesstring. 可选。 在 时 codeCoverageTool = JaCoCo使用 。

此字段是多模块项目所必需的。
指定从 Maven POM 文件到包含类文件和存档文件的目录 (JAR、WAR 等) 的相对路径列表。 报告这些目录中的类文件的代码覆盖率。 例如,target/classes,target/testClasses


codeCoverageSourceDirectories - 源文件目录
输入别名: srcDirectoriesstring. 可选。 在 时 codeCoverageTool = JaCoCo使用 。

此字段是多模块项目所必需的。
指定从 Maven POM 文件到源代码目录的相对路径的逗号分隔列表。 代码覆盖率报告使用这些报告来突出显示源代码。 例如,src/java,src/Test


codeCoverageFailIfEmpty - 缺少代码覆盖率结果时失败
输入别名: failIfCoverageEmptyboolean. 可选。 在 时 codeCoverageTool != None使用 。 默认值:false

如果代码覆盖率未生成任何要发布的结果,则生成失败。


codeCoverageRestoreOriginalPomXml - 执行任务后还原原始pom.xml
输入别名: restoreOriginalPomXmlboolean. 可选。 在 时 codeCoverageTool != None使用 。 默认值:false

修改代码覆盖率 pom.xml 以生成结果。 如果需要保留原始 pom.xml的 ,请使用此选项。


javaHomeOption - 设置JAVA_HOME依据
输入别名: javaHomeSelectionstring. 必需。 允许的值: JDKVersion (JDK 版本) 。 Path 默认值:JDKVersion

通过选择将在生成期间发现的 JDK 版本或通过手动输入 JDK 路径来设置 JAVA_HOME 。 如果已在代理计算机上安装 Java,可以通过将 javaHomeOptionpath 设置为 和 jdkDirectory 作为 JDK 已安装目录的路径来指定它。


jdkVersionOption - JDK 版本
输入别名: jdkVersionstring. 可选。 在 时 javaHomeSelection = JDKVersion使用 。 允许的值: default1.17 (JDK 17) 、 1.11 (JDK 11) 、 1.10 (JDK 10 (支持) ) 、 1.9 (JDK 9 (不支持) ) 、 1.8 (JDK 8) 、 1.7 (JDK 7) 、 1.6 (JDK 6 (不支持) ) 。 默认值:default

尝试发现所选 JDK 版本的路径并相应地设置 JAVA_HOME
注意: 如果在非 Microsoft 托管的代理上运行,并且请求的 Java 版本不是代理计算机上设置的 JAVA_HOME 变量所指示的版本,则任务将依赖于变量 JAVA_HOME_{version}_{arch} (例如: JAVA_HOME_8_X64) 查找必要的 JDK。 确保为此参数和/或 jdkArchitecture可能请求的任何 JDK 版本和体系结构在自承载代理上设置此变量。


jdkVersionOption - JDK 版本
输入别名: jdkVersionstring. 可选。 在 时 javaHomeSelection = JDKVersion使用 。 允许的值: default1.11 (JDK 11) 、 1.10 (JDK 10 (退出支持) ) 、 1.9 (JDK 9 (支持) ) 、 1.8 (JDK 8) 、 1.7 (JDK 7) 、 1.6 (JDK 6 (不支持) ) 。 默认值:default

尝试发现所选 JDK 版本的路径并相应地设置 JAVA_HOME


jdkDirectory - JDK 路径
输入别名: jdkUserInputPathstring. 当 时 javaHomeSelection = Path是必需的。

设置为 JAVA_HOME 给定路径。


jdkArchitectureOption - JDK 体系结构
输入别名: jdkArchitecturestring. 可选。 在 时 jdkVersion != default使用 。 允许的值:x86x64。 默认值:x64

提供 JDK 的体系结构 (x86x64 、) 。


mavenVersionOption - Maven 版本
输入别名: mavenVersionSelectionstring. 必需。 允许的值: DefaultPath (自定义路径) 。 默认值:Default

指定默认 Maven 版本或指定自定义路径中的版本。


mavenDirectory - Maven 路径
输入别名: mavenPathstring. 当 时 mavenVersionSelection = Path是必需的。

提供 Maven 安装 (的自定义路径,例如: /usr/share/maven) 。


mavenSetM2Home - 设置M2_HOME变量
boolean. 当 时 mavenVersionSelection = Path是必需的。 默认值:false

M2_HOME 变量设置为自定义 Maven 安装路径。


mavenOptions - 将 MAVEN_OPTS 设置为
输入别名: mavenOptsstring. 默认值:-Xmx1024m

MAVEN_OPTS设置环境变量,该变量用于发送命令行参数以启动 JVM。 标志 -Xmx 指定 JVM 可用的最大内存。


mavenAuthenticateFeed - 对内置 Maven 源进行身份验证
输入别名: mavenFeedAuthenticateboolean. 必需。 默认值:false

自动对来自 Azure Artifacts/TFS 包管理 扩展的内置 Maven 源进行身份验证。 如果未使用内置 Maven 源,请取消选择此选项以加快生成速度。


effectivePomSkip - 在对内置源进行身份验证时跳过生成有效 POM
输入别名: skipEffectivePomboolean. 必需。 默认值:false

仅使用 POM 对内置 Maven 源进行身份验证,这允许 Azure Artifacts/Azure DevOps Server [包管理] 源中的父 POM。


sonarQubeRunAnalysis - 运行 SonarQube 或 SonarCloud 分析
输入别名: sqAnalysisEnabledboolean. 必需。 默认值:false

此选项已从使用 Maven 任务版本 1 更改为使用 SonarQubeSonarCloud 市场扩展。
启用此选项可在“目标”字段中执行目标后运行 SonarQube 或 SonarCloud 分析。 应首先运行 安装 目标。 在此 Maven 任务之前,还必须将某个扩展中的 准备分析配置 任务添加到生成管道。


isJacocoCoverageReportXML - 使用 XML Jacoco 报表进行 SonarQube 分析
boolean. 可选。 在 时 sqAnalysisEnabled = true && codeCoverageTool = JaCoCo使用 。 默认值:false

使用 XML Jacoco 报表进行 SonarQube 分析。 详细了解 测试报告


sqMavenPluginVersionChoice - Maven 版本的 SonarQube 扫描仪
string. 当 时 sqAnalysisEnabled = true是必需的。 允许的值: latest (使用最新版本) , pom (使用pom.xml) 中声明的版本。 默认值:latest

指定要使用的 SonarQube Maven 插件版本。 可以使用最新版本,也可以依赖于 中的 pom.xml版本。


checkStyleRunAnalysis - 运行 Checkstyle
输入别名: checkstyleAnalysisEnabledboolean. 默认值:false

使用默认的 Sun 检查运行 Checkstyle 工具。 如果未在 pom.xml 文件中指定 Checkstyle 配置,则使用默认的 Sun 检查。 结果作为生成项目上传。


pmdRunAnalysis - 运行 PMD
输入别名: pmdAnalysisEnabledboolean. 默认值:false

使用 PMD 静态分析工具查找代码中的 bug。 结果作为生成项目上传。


findBugsRunAnalysis - 运行 FindBugs
输入别名: findbugsAnalysisEnabledboolean. 默认值:false

使用 FindBugs 静态分析工具查找代码中的 bug。 结果作为生成项目上传。


spotBugsRunAnalysis - 运行 SpotBugs 分析
输入别名: spotBugsAnalysisEnabledboolean. 默认值:false

启用此选项可运行 SpotBugs 代码分析插件。 有关 SpotBugs Maven 插件的详细信息。


spotBugsVersion - 版本号
输入别名: spotBugsMavenPluginVersionstring. 可选。 在 时 spotBugsAnalysisEnabled = true使用 。 默认值:4.5.3.0

了解 SpotBugs 的可用版本


spotBugsGoal - spotbugs 插件的目标
string. 可选。 在 时 spotBugsAnalysisEnabled = true使用 。 允许的值: spotbugs (“spotbugs”- 创建有关发现 bug) 的报告, check (“检查”- 如果) 检测到 bug,管道将失败。 默认值:spotbugs

指定插件的目标。 详细了解 SpotBugs 目标


failWhenBugsFound - 使用 spotbugs:check 找到 bug 时失败
输入别名: spotBugsFailWhenBugsFound | sbFailWhenBugsFoundboolean. 可选。 在 时 spotBugsAnalysisEnabled = true && spotBugsGoal = check使用 。 默认值:true

如果指定了 检查目标 ,则发现 bug 时失败。 详细了解 SpotBug 参数详细信息


任务控件选项

除任务输入外,所有任务都有控制选项。 有关详细信息,请参阅 控制选项和常见任务属性

输出变量

无。

备注

在任务“准备分析配置”中,SonarQube 分析的配置已移动到 SonarQubeSonarCloud 扩展。

重要

使用 -q 中的 MAVEN_OPTS选项时,无法正确生成有效的 pom,并且 Azure Artifacts 源可能无法进行身份验证。

重要

如果代理上已安装要使用的 JDK 版本,请将 path 设置为 javaHomeOptionjdkDirectory并将 设置为 JDK 版本的路径。 这些选项设置 JAVA_HOME_11_X64 Maven 任务所需的环境变量。 如果使用 Java 工具安装程序任务,则会自动设置此环境变量。

常见问题解答

我有一个多模块项目,但生成失败。 我应该检查什么?

确保已将 和 #codeCoverageSourceDirectories 指定#codeCoverageClassFilesDirectories为任务输入。 这两个参数对于单个模块项目是可选的,但对于多模块项目是必需的。

示例

要求

要求 说明
管道类型 YAML、经典版本、经典版本
运行平台 Agent、DeploymentGroup
需求 自承载代理必须具有满足以下要求的功能才能运行使用此任务的作业:maven
功能 此任务不满足作业中后续任务的任何要求。
命令限制 Any
可设置变量 Any
代理版本 1.89.0 或更高版本
任务类别 构建

请参阅