调用者:运行

全名

org.apache.maven.plugins:maven-invoker-plugin:3.2.2:run

说明

搜索集成测试 Maven 项目,并执行每个项目,在项目目录中收集日志,并将结果输出到命令行。

属性

  • 需要执行一个 Maven 项目。
  • 需要范围内工件的依赖关系解析:test.
  • 自版本:1.0.
  • 默认绑定到生命周期阶段integration-test.

可选参数

姓名 类型 自从 描述
<addTestClassPath> boolean 1.2 一个标志是否应将被测项目的测试类路径包含在构建前/构建后脚本的类路径中。如果设置为false,则脚本解释器的类路径仅包含Maven Invoker 插件的运行时依赖项。如果设置 true,项目的测试类路径将被添加到解释器类路径中。除其他外,此功能允许脚本从项目的测试源访问实用程序类。
默认值为false
用户属性是invoker.addTestClassPath
<cloneAllFiles> boolean 1.2 将 IT 项目从参数 projectsDirectory 指定的目录复制到 cloneProjectsTo 指定的目录时,通常会排除一些文件(例如.svnCVS*~等:完整列表参见参考资料 )。将此参数设置为true将导致将所有文件复制到cloneProjectsTo 目录中。
默认值为false
<cloneClean> boolean 1.6 确保cloneProjectsTo目录没有被早期调用程序运行的文件污染。
默认值为true
<cloneProjectsTo> File 1.1 在执行之前应将项目克隆到的目录。如果设置为null,则每个集成测试都将在找到相应 IT POM 的目录中运行。在这种情况下,您很可能希望将 SCM 配置为忽略 targetbuild.log位于测试的基本目录中。(使用invoker插件的项目是maven-plugin打包的例外:在这种情况下,IT项目将被默认克隆并执行。)用户属性是:。target/its
invoker.cloneProjectsTo
<debug> boolean 1.0 是否在构建输出中显示调试语句。
默认值为false
用户属性是invoker.debug
<disableReports> boolean 1.4 禁用生成报告生成的标志。
默认值为false
用户属性是invoker.disableReports
<encoding> String 1.2 构建前/构建后脚本的文件编码以及目标和配置文件的列表文件。
默认值为${project.build.sourceEncoding}
用户属性是encoding
<environmentVariables> Map 1.8 要在命令行上设置的其他环境变量。
<failIfNoProjects> Boolean 1.9 true如果没有要调用的项目,请将其设置为导致失败。
用户属性是invoker.failIfNoProjects
<filterProperties> Map 1.3 将用于过滤 POM 和目标文件中的令牌的附加属性列表。
<goals> List 1.0 每个项目要执行的目标列表。默认值为: package
<ignoreFailures> boolean 1.3 控制子构建失败是否也应该使主构建失败的标志。如果设置为true,即使一个或多个子构建失败,主构建也会继续。
默认值为false
用户属性是maven.test.failure.ignore
<invokerPropertiesFile> String 1.2 包含用于指定单个 Maven 调用设置的属性的可选项目特定文件的名称。文件中存在的任何属性都将覆盖插件配置中的相应设置。属性的值被过滤,并且可以使用表达式 ${project.version}来引用项目属性或参数中的值filterProperties

从 3.2.0 开始,可以将此文件夹放在任何祖先文件夹中,其中将继承属性。这样,您可以为一组项目提供单个属性文件

下面的代码片段描述了支持的属性:
# A comma or space separated list of goals/phases to execute, may
# specify an empty list to execute the default goal of the IT project.
# Environment variables used by maven plugins can be added here
invoker.goals = clean install -Dplugin.variable=value

# Or you can give things like this if you need.
invoker.goals = -T2 clean verify

# Optionally, a list of goals to run during further invocations of Maven
invoker.goals.2 = ${project.groupId}:${project.artifactId}:${project.version}:run

# A comma or space separated list of profiles to activate
invoker.profiles = its,jdk15

# The path to an alternative POM or base directory to invoke Maven on, defaults to the
# project that was originally specified in the plugin configuration
# Since plugin version 1.4
invoker.project = sub-module

# The value for the environment variable MAVEN_OPTS
invoker.mavenOpts = -Dfile.encoding=UTF-16 -Xms32m -Xmx256m

# Possible values are "fail-fast" (default), "fail-at-end" and "fail-never"
invoker.failureBehavior = fail-never

# The expected result of the build, possible values are "success" (default) and "failure"
invoker.buildResult = failure

# A boolean value controlling the aggregator mode of Maven, defaults to "false"
invoker.nonRecursive = true

# A boolean value controlling the network behavior of Maven, defaults to "false"
# Since plugin version 1.4
invoker.offline = true

# The path to the properties file from which to load system properties, defaults to the
# filename given by the plugin parameter testPropertiesFile
# Since plugin version 1.4
invoker.systemPropertiesFile = test.properties

# An optional human friendly name for this build job to be included in the build reports.
# Since plugin version 1.4
invoker.name = Test Build 01

# An optional description for this build job to be included in the build reports.
# Since plugin version 1.4
invoker.description = Checks the support for build reports.

# A comma separated list of JRE versions on which this build job should be run.
# Since plugin version 1.4
invoker.java.version = 1.4+, !1.4.1, 1.7-

# A comma separated list of OS families on which this build job should be run.
# Since plugin version 1.4
invoker.os.family = !windows, unix, mac

# A comma separated list of Maven versions on which this build should be run.
# Since plugin version 1.5
invoker.maven.version = 2.0.10+, !2.1.0, !2.2.0

# A mapping for toolchain to ensure it exists
# Since plugin version 3.2.0
invoker.toolchain.<type>.<provides> = value
invoker.toolchain.jdk.version = 11

# For java.version, maven.version, os.family and toolchain it is possible to define multiple selectors.
# If one of the indexed selectors matches, the test is executed.
# With the invoker.x.y equivalents you can specify global matchers.  
selector.1.java.version = 1.8+
selector.1.maven.version = 3.2.5+
selector.1.os.family = !windows
selector.2.maven.version = 3.0+
selector.3.java.version = 9+

# A boolean value controlling the debug logging level of Maven, , defaults to "false"
# Since plugin version 1.8
invoker.debug = true

# Path to an alternate settings.xml to use for Maven invocation with this IT.
# Since plugin version 3.0.1
invoker.settingsFile = ../

# An integer value to control run order of projects. sorted in the descending order of the ordinal.
# In other words, the BuildJobs with the highest numbers will be executed first
# Since plugin version 3.2.1
invoker.ordinal = 3
invoker.ordinal = 1

# The additional value for the environment variable.
# Since plugin version 3.2.2
invoker.environmentVariables.<variableName> = variableValue
invoker.environmentVariables.MY_ENV_NAME = myEnvValue


默认值为invoker.properties
用户属性是invoker.invokerPropertiesFile
<invokerTest> String 1.1 (exclusion since 1.8) 要运行的项目名称模式的逗号分隔列表。指定此参数以按文件名运行单个测试,覆盖 setupIncludespomIncludespomExcludes参数。您在此处指定的每个模式都将用于创建格式如下的包含/排除模式 。要排除测试,请在模式前加上“ ”。所以你可以只键入在and 中运行构建,而不是 User 属性是: 。${projectsDirectory}/pattern!-Dinvoker.test=SimpleTest,Comp*Test,!Compare*${projectsDirectory}/SimpleTest${projectsDirectory}/ComplexTest${projectsDirectory}/CompareTest
invoker.test
<javaHome> File 1.3 JAVA_HOME用于分叉 Maven 调用的环境变量。默认为当前 Java 主目录。
用户属性是invoker.javaHome
<junitPackageName> String 3.1.2 junit 报告中使用的包名
默认值为: maven.invoker.it
用户属性是invoker.junitPackageName
<localRepositoryPath> File 1.0 用于缓存工件的本地存储库。强烈建议指定一个独立存储库的路径,例如 ${project.build.directory}/it-repo. 否则,将使用您的普通本地存储库,可能会被损坏的工件弄脏。
默认值为${settings.localRepository}
用户属性是invoker.localRepositoryPath
<logDirectory> File 3.2.0 默认情况下 abuild.log在项目的根目录中创建。通过设置此文件夹,文件将写入不同的文件夹,尊重项目目录的结构。
<mavenExecutable> String 1.8 mavenExecutable 可以是相对文件 ${maven.home}/bin/或绝对文件。
用户属性是invoker.mavenExecutable
<mavenHome> File 1.3 用于分叉构建的 Maven 安装的主目录。默认为当前的 Maven 安装。
用户属性是invoker.mavenHome
<mavenOpts> String 1.2 MAVEN_OPTS调用 Maven 时使用的环境变量。可以使用invokerPropertiesFile.
用户属性是invoker.mavenOpts
<mergeUserSettings> boolean 1.6 如果启用并且您为执行配置了设置文件,它将与您的用户设置合并。
默认值为false
用户属性是invoker.mergeUserSettings
<noLog> boolean 1.0 禁止记录到build.log文件。
默认值为false
用户属性是invoker.noLog
<parallelThreads> String 1.6

并行运行测试的线程数。这将是并行的 Maven 分叉进程的数量。当以“C”结束时,数字部分乘以 Java 虚拟机可用的处理器(内核)的数量。浮点值仅与“C”一起接受。

示例值:“1.5C”、“4”


默认值为1
用户属性是invoker.parallelThreads
<pom> File 1.0 要构建的单个 POM,跳过任何扫描参数和行为。
用户属性是invoker.pom
<pomExcludes> List 1.0 排除用于搜索集成测试目录的模式。此参数旨在从 POM 中设置。默认情况下,不排除任何 POM 文件。为了方便使用类似的包含模式 *,参数指定的自定义设置文件 settingsFile将始终被自动排除。
<pomIncludes> List 1.0 包括用于在集成测试目录中搜索项目的模式。此参数旨在从 POM 中设置。如果不设置此参数,插件将搜索下 pom.xml一个目录 projectsDirectory(即*/pom.xml)的所有文件。

从 1.3 版开始,这些模式也可以匹配单纯的目录。例如,包含模式* 将在 的所有直接子目录上运行 Maven 构建 projectsDirectory,无论它们是否包含 pom.xml. 这允许执行需要/不应该依赖于 POM 存在的构建。
<postBuildHookScript> String 1.0 执行构建后要运行的清理/验证挂钩脚本的相对路径。该脚本可以使用 BeanShell 或 Groovy(从 1.3 开始)编写。如果省略文件扩展名(例如verify),插件会通过尝试众所周知的扩展名.bsh.groovy. 如果此脚本存在于特定项目但返回任何不同于 true或抛出异常的非空值,则相应的构建被标记为失败。
默认值为postbuild
用户属性是invoker.postBuildHookScript
<preBuildHookScript> String 1.0 在执行构建之前运行的预构建钩子脚本的相对路径。该脚本可以使用 BeanShell 或 Groovy(从 1.3 开始)编写。如果省略文件扩展名(例如 prebuild),插件会通过尝试众所周知的扩展名.bsh.groovy. 如果此脚本存在于特定项目但返回任何不同于 true或抛出异常的非空值,则相应的构建被标记为失败。在这种情况下,既不会调用 Maven 也不会调用构建后挂钩脚本。
默认值为prebuild
用户属性是invoker.preBuildHookScript
<profiles> List 1.1 要在构建中显式触发的配置文件标识符列表。
<projectsDirectory> File 1.0 搜索集成测试的目录。
默认值为${basedir}/src/it/
用户属性是invoker.projectsDirectory
<properties> Map 1.1 通过 -D 参数在每个项目的命令行上传递的一组通用属性。
<reportsDirectory> File 1.4 写入所有构建报告的基本目录。集成测试的每次执行都会生成一个 XML 文件,其中包含有关特定构建作业成功或失败的信息。生成的 XML 文件的格式记录在给定的构建作业 参考中。
默认值为${project.build.directory}/invoker-reports
用户属性是invoker.reportsDirectory
<scriptVariables> Map 1.9 用于挂钩脚本的附加变量。
<selectorScript> String 1.5 选择器脚本的相对路径,以决定是否应该执行构建。该脚本可以使用 BeanShell 或 Groovy 编写。如果省略文件扩展名(例如 selector),插件会通过尝试众所周知的扩展名.bsh.groovy. 如果此脚本存在于特定项目但返回任何不同于 的非空值 true,则相应的构建将被标记为已跳过。在这种情况下,不会调用构建前挂钩脚本、Maven 和构建后挂钩脚本。如果此脚本抛出异常,则相应的构建被标记为错误,并且不会调用构建前的钩子脚本,Maven 而不是构建后的钩子脚本。
默认值为selector
用户属性是: invoker.selectorScript.
<settingsFile> File 1.2 settings.xml用于所有 IT 的 Maven 调用的备用路径。请注意, <localRepository>此设置文件的元素始终被忽略,即参数给定的路径 localRepositoryPath占主导地位。
用户属性是invoker.settingsFile
<setupIncludes> List 1.3 包括用于在项目目录中搜索需要在其他项目之前运行的项目的模式。此参数允许声明执行设置任务的项目,例如将实用程序工件安装到本地存储库中。与这些模式匹配的项目被隐式地排除在普通项目的扫描之外。此外,该参数定义的排除项也 pomExcludes适用于设置项目。默认值为:setup*/pom.xml
<showErrors> boolean 1.0 是否在构建输出中显示错误。
默认值为false
用户属性是invoker.showErrors
<showVersion> boolean 1.4 启用用于运行其的显示 mvn 版本的标志(cli 选项:-V,--show-version)
默认值为false
用户属性是invoker.showVersion
<skipInvocation> boolean 1.1 用于禁止某些调用的标志。这在使用配置文件定制构建时很有用。
默认值为false
用户属性是invoker.skip
<streamLogs> boolean 1.0 用于确定是否应将构建日志输出到普通 mojo 日志的标志。
默认值为false
用户属性是invoker.streamLogs
<streamLogsOnFailures> boolean 3.2.2 设置为true在作业失败的情况下将 build.log 输出到 mojo 日志。
默认值为false
用户属性是invoker.streamLogsOnFailures
<suppressSummaries> boolean 1.0 用于禁止通知成功和失败的摘要输出的标志。如果设置为true,构建成功或失败的唯一指示将是它对主构建的影响(如果失败,主构建也应该失败)。如果 streamLogs启用,子构建摘要也将提供指示。
默认值为false
<testPropertiesFile> String 1.0 为测试定义 CLI 属性的属性文件的位置。
默认值为test.properties
用户属性是invoker.testPropertiesFile
<timeoutInSeconds> int 3.0.2 (无描述)
默认值为: 0
用户属性是invoker.timeoutInSeconds
<updateOnly> boolean 3.2.2 仅当自上次构建后其源已被修改时才调用 Maven 项目。仅与 结合使用 cloneProjectsTo
默认值为false
用户属性是invoker.updateOnly
<writeJunitReport> boolean 3.1.2 以junit格式写入测试结果。
默认值为false
用户属性是invoker.writeJunitReport

参数详情

<添加测试类路径>

一个标志是否应将被测项目的测试类路径包含在构建前/构建后脚本的类路径中。如果设置为false,则脚本解释器的类路径仅包含Maven Invoker 插件的运行时依赖项。如果设置 true,项目的测试类路径将被添加到解释器类路径中。除其他外,此功能允许脚本从项目的测试源访问实用程序类。
  • 类型boolean
  • 1.2
  • 必需No
  • 用户属性invoker.addTestClassPath
  • 默认false

<克隆所有文件>

将 IT 项目从参数 projectsDirectory 指定的目录复制到 cloneProjectsTo 指定的目录时,通常会排除一些文件(例如.svnCVS*~等:完整列表参见参考资料 )。将此参数设置为true将导致将所有文件复制到cloneProjectsTo 目录中。
  • 类型boolean
  • 1.2
  • 必需No
  • 默认false

<克隆清洁>

确保cloneProjectsTo目录没有被早期调用程序运行的文件污染。
  • 类型boolean
  • 1.6
  • 必需No
  • 默认true

<cloneProjectsTo>

在执行之前应将项目克隆到的目录。如果设置为null,则每个集成测试都将在找到相应 IT POM 的目录中运行。在这种情况下,您很可能希望将 SCM 配置为忽略 targetbuild.log位于测试的基本目录中。(使用invoker插件的项目是maven-plugin打包的例外:在这种情况下,IT项目将被默认克隆并执行。)target/its
  • 类型java.io.File
  • 1.1
  • 必需No
  • 用户属性invoker.cloneProjectsTo

<调试>

是否在构建输出中显示调试语句。
  • 类型boolean
  • 1.0
  • 必需No
  • 用户属性invoker.debug
  • 默认false

<禁用报告>

禁用生成报告生成的标志。
  • 类型boolean
  • 1.4
  • 必需No
  • 用户属性invoker.disableReports
  • 默认false

<编码>

构建前/构建后脚本的文件编码以及目标和配置文件的列表文件。
  • 类型java.lang.String
  • 1.2
  • 必需No
  • 用户属性encoding
  • 默认${project.build.sourceEncoding}

<环境变量>

要在命令行上设置的其他环境变量。
  • 类型java.util.Map
  • 1.8
  • 必需No

<failIfNoProjects>

true如果没有要调用的项目,请将其设置为导致失败。
  • 类型java.lang.Boolean
  • 1.9
  • 必需No
  • 用户属性invoker.failIfNoProjects

<过滤器属性>

将用于过滤 POM 和目标文件中的令牌的附加属性列表。
  • 类型java.util.Map
  • 1.3
  • 必需No

<目标>

每个项目要执行的目标列表。默认值为: package
  • 类型java.util.List
  • 1.0
  • 必需No

<忽略失败>

控制子构建失败是否也应该使主构建失败的标志。如果设置为true,即使一个或多个子构建失败,主构建也会继续。
  • 类型boolean
  • 1.3
  • 必需No
  • 用户属性maven.test.failure.ignore
  • 默认false

<invokerPropertiesFile>

包含用于指定单个 Maven 调用设置的属性的可选项目特定文件的名称。文件中存在的任何属性都将覆盖插件配置中的相应设置。属性的值被过滤,并且可以使用表达式 ${project.version}来引用项目属性或参数中的值filterProperties

从 3.2.0 开始,可以将此文件夹放在任何祖先文件夹中,其中将继承属性。这样,您可以为一组项目提供单个属性文件

下面的代码片段描述了支持的属性:
# A comma or space separated list of goals/phases to execute, may
# specify an empty list to execute the default goal of the IT project.
# Environment variables used by maven plugins can be added here
invoker.goals = clean install -Dplugin.variable=value

# Or you can give things like this if you need.
invoker.goals = -T2 clean verify

# Optionally, a list of goals to run during further invocations of Maven
invoker.goals.2 = ${project.groupId}:${project.artifactId}:${project.version}:run

# A comma or space separated list of profiles to activate
invoker.profiles = its,jdk15

# The path to an alternative POM or base directory to invoke Maven on, defaults to the
# project that was originally specified in the plugin configuration
# Since plugin version 1.4
invoker.project = sub-module

# The value for the environment variable MAVEN_OPTS
invoker.mavenOpts = -Dfile.encoding=UTF-16 -Xms32m -Xmx256m

# Possible values are "fail-fast" (default), "fail-at-end" and "fail-never"
invoker.failureBehavior = fail-never

# The expected result of the build, possible values are "success" (default) and "failure"
invoker.buildResult = failure

# A boolean value controlling the aggregator mode of Maven, defaults to "false"
invoker.nonRecursive = true

# A boolean value controlling the network behavior of Maven, defaults to "false"
# Since plugin version 1.4
invoker.offline = true

# The path to the properties file from which to load system properties, defaults to the
# filename given by the plugin parameter testPropertiesFile
# Since plugin version 1.4
invoker.systemPropertiesFile = test.properties

# An optional human friendly name for this build job to be included in the build reports.
# Since plugin version 1.4
invoker.name = Test Build 01

# An optional description for this build job to be included in the build reports.
# Since plugin version 1.4
invoker.description = Checks the support for build reports.

# A comma separated list of JRE versions on which this build job should be run.
# Since plugin version 1.4
invoker.java.version = 1.4+, !1.4.1, 1.7-

# A comma separated list of OS families on which this build job should be run.
# Since plugin version 1.4
invoker.os.family = !windows, unix, mac

# A comma separated list of Maven versions on which this build should be run.
# Since plugin version 1.5
invoker.maven.version = 2.0.10+, !2.1.0, !2.2.0

# A mapping for toolchain to ensure it exists
# Since plugin version 3.2.0
invoker.toolchain.<type>.<provides> = value
invoker.toolchain.jdk.version = 11

# For java.version, maven.version, os.family and toolchain it is possible to define multiple selectors.
# If one of the indexed selectors matches, the test is executed.
# With the invoker.x.y equivalents you can specify global matchers.  
selector.1.java.version = 1.8+
selector.1.maven.version = 3.2.5+
selector.1.os.family = !windows
selector.2.maven.version = 3.0+
selector.3.java.version = 9+

# A boolean value controlling the debug logging level of Maven, , defaults to "false"
# Since plugin version 1.8
invoker.debug = true

# Path to an alternate settings.xml to use for Maven invocation with this IT.
# Since plugin version 3.0.1
invoker.settingsFile = ../

# An integer value to control run order of projects. sorted in the descending order of the ordinal.
# In other words, the BuildJobs with the highest numbers will be executed first
# Since plugin version 3.2.1
invoker.ordinal = 3
invoker.ordinal = 1

# The additional value for the environment variable.
# Since plugin version 3.2.2
invoker.environmentVariables.<variableName> = variableValue
invoker.environmentVariables.MY_ENV_NAME = myEnvValue

  • 类型java.lang.String
  • 1.2
  • 必需No
  • 用户属性invoker.invokerPropertiesFile
  • 默认invoker.properties

<调用者测试>

要运行的项目名称模式的逗号分隔列表。指定此参数以按文件名运行单个测试,覆盖 setupIncludespomIncludespomExcludes参数。您在此处指定的每个模式都将用于创建格式如下的包含/排除模式 。要排除测试,请在模式前加上“ ”。因此,您可以只键入在and 中运行构建,但不能 ${projectsDirectory}/pattern!-Dinvoker.test=SimpleTest,Comp*Test,!Compare*${projectsDirectory}/SimpleTest${projectsDirectory}/ComplexTest${projectsDirectory}/CompareTest
  • 类型java.lang.String
  • 1.1 (exclusion since 1.8)
  • 必需No
  • 用户属性invoker.test

<java首页>

JAVA_HOME用于分叉 Maven 调用的环境变量。默认为当前 Java 主目录。
  • 类型java.io.File
  • 1.3
  • 必需No
  • 用户属性invoker.javaHome

<junitPackageName>

junit报告中使用的包名
  • 类型java.lang.String
  • 3.1.2
  • 必需No
  • 用户属性invoker.junitPackageName
  • 默认maven.invoker.it

<localRepositoryPath>

用于缓存工件的本地存储库。强烈建议指定一个独立存储库的路径,例如 ${project.build.directory}/it-repo. 否则,将使用您的普通本地存储库,可能会被损坏的工件弄脏。
  • 类型java.io.File
  • 1.0
  • 必需No
  • 用户属性invoker.localRepositoryPath
  • 默认${settings.localRepository}

<日志目录>

默认情况下 abuild.log在项目的根目录中创建。通过设置此文件夹,文件将写入不同的文件夹,尊重项目目录的结构。
  • 类型java.io.File
  • 3.2.0
  • 必需No

<maven可执行文件>

mavenExecutable 可以是相对文件 ${maven.home}/bin/或绝对文件。
  • 类型java.lang.String
  • 1.8
  • 必需No
  • 用户属性invoker.mavenExecutable

<maven首页>

用于分叉构建的 Maven 安装的主目录。默认为当前的 Maven 安装。
  • 类型java.io.File
  • 1.3
  • 必需No
  • 用户属性invoker.mavenHome

<mavenOpts>

MAVEN_OPTS调用 Maven 时使用的环境变量。可以使用invokerPropertiesFile.
  • 类型java.lang.String
  • 1.2
  • 必需No
  • 用户属性invoker.mavenOpts

<合并用户设置>

如果启用并且您为执行配置了设置文件,它将与您的用户设置合并。
  • 类型boolean
  • 1.6
  • 必需No
  • 用户属性invoker.mergeUserSettings
  • 默认false

<无日志>

禁止记录到build.log文件。
  • 类型boolean
  • 1.0
  • 必需No
  • 用户属性invoker.noLog
  • 默认false

<并行线程>

并行运行测试的线程数。这将是并行的 Maven 分叉进程的数量。当以“C”结束时,数字部分乘以 Java 虚拟机可用的处理器(内核)的数量。浮点值仅与“C”一起接受。

示例值:“1.5C”、“4”

  • 类型java.lang.String
  • 1.6
  • 必需No
  • 用户属性invoker.parallelThreads
  • 默认1

<pom>

要构建的单个 POM,跳过任何扫描参数和行为。
  • 类型java.io.File
  • 1.0
  • 必需No
  • 用户属性invoker.pom

<pom 排除>

排除用于搜索集成测试目录的模式。此参数旨在从 POM 中设置。默认情况下,不排除任何 POM 文件。为了方便使用类似的包含模式 *,参数指定的自定义设置文件 settingsFile将始终被自动排除。
  • 类型java.util.List
  • 1.0
  • 必需No

<pom包含>

包括用于在集成测试目录中搜索项目的模式。此参数旨在从 POM 中设置。如果不设置此参数,插件将搜索下 pom.xml一个目录 projectsDirectory(即*/pom.xml)的所有文件。

从 1.3 版开始,这些模式也可以匹配单纯的目录。例如,包含模式* 将在 的所有直接子目录上运行 Maven 构建 projectsDirectory,无论它们是否包含 pom.xml. 这允许执行需要/不应该依赖于 POM 存在的构建。
  • 类型java.util.List
  • 1.0
  • 必需No

<postBuildHookScript>

执行构建后要运行的清理/验证挂钩脚本的相对路径。该脚本可以使用 BeanShell 或 Groovy(从 1.3 开始)编写。如果省略文件扩展名(例如verify),插件会通过尝试众所周知的扩展名.bsh.groovy. 如果此脚本存在于特定项目但返回任何不同于 true或抛出异常的非空值,则相应的构建被标记为失败。
  • 类型java.lang.String
  • 1.0
  • 必需No
  • 用户属性invoker.postBuildHookScript
  • 默认postbuild

<preBuildHookScript>

在执行构建之前运行的预构建钩子脚本的相对路径。该脚本可以使用 BeanShell 或 Groovy(从 1.3 开始)编写。如果省略文件扩展名(例如 prebuild),插件会通过尝试众所周知的扩展名.bsh.groovy. 如果此脚本存在于特定项目但返回任何不同于 true或抛出异常的非空值,则相应的构建被标记为失败。在这种情况下,既不会调用 Maven 也不会调用构建后挂钩脚本。
  • 类型java.lang.String
  • 1.0
  • 必需No
  • 用户属性invoker.preBuildHookScript
  • 默认prebuild

<个人资料>

要在构建中显式触发的配置文件标识符列表。
  • 类型java.util.List
  • 1.1
  • 必需No

<项目目录>

搜索集成测试的目录。
  • 类型java.io.File
  • 1.0
  • 必需No
  • 用户属性invoker.projectsDirectory
  • 默认${basedir}/src/it/

<属性>

通过 -D 参数在每个项目的命令行上传递的一组通用属性。
  • 类型java.util.Map
  • 1.1
  • 必需No

<报告目录>

写入所有构建报告的基本目录。集成测试的每次执行都会生成一个 XML 文件,其中包含有关特定构建作业成功或失败的信息。生成的 XML 文件的格式记录在给定的构建作业 参考中。
  • 类型java.io.File
  • 1.4
  • 必需No
  • 用户属性invoker.reportsDirectory
  • 默认${project.build.directory}/invoker-reports

<脚本变量>

用于挂钩脚本的附加变量。
  • 类型java.util.Map
  • 1.9
  • 必需No

<选择器脚本>

选择器脚本的相对路径,以决定是否应该执行构建。该脚本可以使用 BeanShell 或 Groovy 编写。如果省略文件扩展名(例如 selector),插件会通过尝试众所周知的扩展名.bsh.groovy. 如果此脚本存在于特定项目但返回任何不同于 的非空值 true,则相应的构建将被标记为已跳过。在这种情况下,不会调用构建前挂钩脚本、Maven 和构建后挂钩脚本。如果此脚本抛出异常,则相应的构建被标记为错误,并且不会调用构建前的钩子脚本,Maven 而不是构建后的钩子脚本。
  • 类型java.lang.String
  • 1.5
  • 必需No
  • 用户属性invoker.selectorScript
  • 默认selector

<设置文件>

settings.xml用于所有 IT 的 Maven 调用的备用路径。请注意, <localRepository>此设置文件的元素始终被忽略,即参数给定的路径 localRepositoryPath占主导地位。
  • 类型java.io.File
  • 1.2
  • 必需No
  • 用户属性invoker.settingsFile

<设置包括>

包括用于在项目目录中搜索需要在其他项目之前运行的项目的模式。此参数允许声明执行设置任务的项目,例如将实用程序工件安装到本地存储库中。与这些模式匹配的项目被隐式地排除在普通项目的扫描之外。此外,该参数定义的排除项也 pomExcludes适用于设置项目。默认值为:setup*/pom.xml
  • 类型java.util.List
  • 1.3
  • 必需No

<显示错误>

是否在构建输出中显示错误。
  • 类型boolean
  • 1.0
  • 必需No
  • 用户属性invoker.showErrors
  • 默认false

<显示版本>

启用用于运行其的显示 mvn 版本的标志(cli 选项:-V,--show-version)
  • 类型boolean
  • 1.4
  • 必需No
  • 用户属性invoker.showVersion
  • 默认false

<skipInvocation>

用于禁止某些调用的标志。这在使用配置文件定制构建时很有用。
  • 类型boolean
  • 1.1
  • 必需No
  • 用户属性invoker.skip
  • 默认false

<流日志>

用于确定是否应将构建日志输出到普通 mojo 日志的标志。
  • 类型boolean
  • 1.0
  • 必需No
  • 用户属性invoker.streamLogs
  • 默认false

<streamLogsOnFailures>

设置为true在作业失败的情况下将 build.log 输出到 mojo 日志。
  • 类型boolean
  • 3.2.2
  • 必需No
  • 用户属性invoker.streamLogsOnFailures
  • 默认false

<抑制摘要>

用于禁止通知成功和失败的摘要输出的标志。如果设置为true,构建成功或失败的唯一指示将是它对主构建的影响(如果失败,主构建也应该失败)。如果 streamLogs启用,子构建摘要也将提供指示。
  • 类型boolean
  • 1.0
  • 必需No
  • 默认false

<测试属性文件>

为测试定义 CLI 属性的属性文件的位置。
  • 类型java.lang.String
  • 1.0
  • 必需No
  • 用户属性invoker.testPropertiesFile
  • 默认test.properties

<timeoutInSeconds>

(没有说明)
  • 类型int
  • 3.0.2
  • 必需No
  • 用户属性invoker.timeoutInSeconds
  • 默认0

<仅更新>

仅当自上次构建后其源已被修改时才调用 Maven 项目。仅与 结合使用 cloneProjectsTo
  • 类型boolean
  • 3.2.2
  • 必需No
  • 用户属性invoker.updateOnly
  • 默认false

<writeJunitReport>

以junit格式写入测试结果。
  • 类型boolean
  • 3.1.2
  • 必需No
  • 用户属性invoker.writeJunitReport
  • 默认false