Maven@1 - Maven v1 任务

使用此任务通过 Apache Maven 进行生成。

此版本的任务已弃用;使用 Maven@4

语法

# Maven v1
# Build with Apache Maven.
- task: Maven@1
  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. Publish to TFS/Team Services. Default: true.
    testResultsFiles: '**/TEST-*.xml' # string. Required when publishJUnitResults = true. Test Results Files. Default: **/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.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. Optional. Use when mavenVersionSelection = Path. Set M2_HOME variable. Default: false.
    #mavenOptions: '-Xmx1024m' # string. Alias: mavenOpts. Set MAVEN_OPTS to. Default: -Xmx1024m.
    #mavenAuthenticateFeed: true # boolean. Alias: mavenFeedAuthenticate. Authenticate built-in Maven feeds. Default: true.
  # Code Analysis
    #sonarQubeRunAnalysis: false # boolean. Alias: sqAnalysisEnabled. Run SonarQube Analysis. Default: false.
    #sonarQubeServiceEndpoint: # string. Alias: sqConnectedServiceName. Required when sqAnalysisEnabled = true. SonarQube Endpoint. 
    #sonarQubeProjectName: # string. Alias: sqProjectName. Optional. Use when sqAnalysisEnabled = true. SonarQube Project Name. 
    #sonarQubeProjectKey: # string. Alias: sqProjectKey. Optional. Use when sqAnalysisEnabled = true. SonarQube Project Key. 
    #sonarQubeProjectVersion: # string. Alias: sqProjectVersion. Optional. Use when sqAnalysisEnabled = true. SonarQube Project Version. 
    #sonarQubeSpecifyDB: false # boolean. Alias: sqDbDetailsRequired. Optional. Use when sqAnalysisEnabled = true. The SonarQube server version is lower than 5.2. Default: false.
    #sonarQubeDBUrl: # string. Alias: sqDbUrl. Optional. Use when sqDbDetailsRequired = true. Db Connection String. 
    #sonarQubeDBUsername: # string. Alias: sqDbUsername. Optional. Use when sqDbDetailsRequired = true. Db Username. 
    #sonarQubeDBPassword: # string. Alias: sqDbPassword. Optional. Use when sqDbDetailsRequired = true. Db User Password. 
    #sonarQubeIncludeFullReport: true # boolean. Alias: sqAnalysisIncludeFullReport. Optional. Use when sqAnalysisEnabled = true. Include full analysis report in the build summary (SQ 5.3+). Default: true.
    #sonarQubeFailWhenQualityGateFails: # boolean. Alias: sqAnalysisBreakBuildIfQualityGateFailed. Optional. Use when sqAnalysisEnabled = true. Fail the build on quality gate failure (SQ 5.3+). 
    #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 文件的相对路径。


goals - 目标
string。 默认值:package


options - 选项
string


publishJUnitResults - 发布到 TFS/Team Services
boolean。 默认值:true

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


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

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


testRunTitle - 测试运行游戏
string。 可选。 当 publishJUnitResults = true时使用。

指定测试运行的名称。


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

指定代码覆盖率工具。


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

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


codeCoverageClassFilesDirectories - 类文件目录
输入别名classFilesDirectories. string。 可选。 当 codeCoverageTool = JaCoCo时使用。

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


codeCoverageSourceDirectories - 源文件目录
输入别名srcDirectories. string。 可选。 当 codeCoverageTool = JaCoCo时使用。

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


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

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


javaHomeOption - 设置JAVA_HOME
输入别名javaHomeSelection. string。 必填。 允许的值:JDKVersion(JDK 版本),Path。 默认值:JDKVersion

通过选择在生成期间发现的 JDK 版本或手动输入 JDK 路径来设置 JAVA_HOME


jdkVersionOption - JDK 版本
输入别名jdkVersion. string。 可选。 当 javaHomeSelection = JDKVersion时使用。 允许的值:default1.9(JDK 9)、1.8(JDK 8)、1.7(JDK 7)、1.6(JDK 6)。 默认值:default

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


jdkDirectory - JDK 路径
输入别名jdkUserInputPath. stringjavaHomeSelection = Path时是必需的。

JAVA_HOME 设置为给定路径。


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

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


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

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


mavenDirectory - Maven 路径
输入别名mavenPath. stringmavenVersionSelection = Path时是必需的。

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


mavenSetM2Home - 设置M2_HOME变量
boolean。 可选。 当 mavenVersionSelection = Path时使用。 默认值:false

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


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

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


mavenAuthenticateFeed - 验证内置 Maven 源
输入别名mavenFeedAuthenticate. boolean。 默认值:true

使用 Azure Artifacts 源自动进行身份验证。 如果项目源未使用,请取消选择此选项以加快生成速度。


sonarQubeRunAnalysis - 运行 SonarQube 分析
输入别名sqAnalysisEnabled. boolean。 默认值:false

执行当前目标后,运行 SonarQube 分析。 应首先执行 installpackage 目标。


sonarQubeServiceEndpoint - SonarQube 终端节点
输入别名sqConnectedServiceName. stringsqAnalysisEnabled = true时是必需的。

指定 SonarQube 服务器泛型终结点。


sonarQubeProjectName - SonarQube 项目名称
输入别名sqProjectName. string。 可选。 当 sqAnalysisEnabled = true时使用。

指定 SonarQube 项目名称,例如 sonar.projectName


sonarQubeProjectKey - SonarQube 项目密钥
输入别名sqProjectKey. string。 可选。 当 sqAnalysisEnabled = true时使用。

指定 SonarQube 项目唯一键,例如 sonar.projectKey


sonarQubeProjectVersion - SonarQube 项目版本
输入别名sqProjectVersion. string。 可选。 当 sqAnalysisEnabled = true时使用。

指定 SonarQube 项目版本,例如 sonar.projectVersion


sonarQubeSpecifyDB - SonarQube 服务器版本低于 5.2
输入别名sqDbDetailsRequired. boolean。 可选。 当 sqAnalysisEnabled = true时使用。 默认值:false

如果使用 SonarQube 服务器 5.1 或更低版本,则必须指定数据库连接详细信息。


sonarQubeDBUrl - Db 连接字符串
输入别名sqDbUrl. string。 可选。 当 sqDbDetailsRequired = true时使用。

仅用于 SonarQube 服务器 5.1 和更低版本。
指定数据库连接设置(例如,sonar.jdbc.urljdbc:jtds:sqlserver://localhost/sonar;SelectMethod=Cursor)。


sonarQubeDBUsername - Db 用户名
输入别名sqDbUsername. string。 可选。 当 sqDbDetailsRequired = true时使用。

仅用于 SonarQube 服务器 5.1 和更低版本。
指定数据库用户的用户名(例如,sonar.jdbc.username)。


sonarQubeDBPassword - Db 用户密码
输入别名sqDbPassword. string。 可选。 当 sqDbDetailsRequired = true时使用。

仅用于 SonarQube 服务器 5.1 和更低版本。
指定数据库用户的密码(例如,sonar.jdbc.password)。


sonarQubeIncludeFullReport - 生成摘要(SQ 5.3+) 中包含完整分析报告
输入别名sqAnalysisIncludeFullReport. boolean。 可选。 当 sqAnalysisEnabled = true时使用。 默认值:true

此选项将延迟生成,直到 SonarQube 分析完成。


sonarQubeFailWhenQualityGateFails - 质量门故障(SQ 5.3+)
输入别名sqAnalysisBreakBuildIfQualityGateFailed. boolean。 可选。 当 sqAnalysisEnabled = true时使用。

仅当使用 SonarQube 服务器 5.3 或更高版本时,此选项才可用。 引入延迟,因为生成必须等待 SonarQube 完成分析。 有关 SonarQube 质量门的详细信息。


checkStyleRunAnalysis - 运行 Checkstyle
输入别名checkstyleAnalysisEnabled. boolean。 默认值:false

使用默认的 Sun 检查运行 Checkstyle 工具。 结果将作为生成项目上传。


pmdRunAnalysis - 运行 PMD
输入别名pmdAnalysisEnabled. boolean。 默认值:false

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


findBugsRunAnalysis - 运行 FindBugs
输入别名findbugsAnalysisEnabled. boolean。 默认值:false

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


任务控制选项

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

输出变量

没有。

要求

要求 说明
管道类型 YAML,经典版本,经典版本
运行时间 代理,DeploymentGroup
需求 自承载代理必须具有与以下 要求 运行使用此任务的作业 功能:
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任何
Settable 变量 任何
代理版本 1.89.0 或更高版本
任务类别 建造

另请参阅