调用者属性

插件配置中的各种参数提供了一种全局配置用于在项目上运行 Maven 构建的目标、配置文件等的方法。但是,对于某些项目,您可能需要指定不同的设置。为了避免多个插件执行的麻烦,您可以简单地使用一个名为的文件invoker.properties来控制每个项目的构建设置,或者在其一个祖先文件夹中将其应用于一组项目。此属性文件的确切名称是可配置的,但它需要位于相应项目的基本目录中,如下所示:

./
+- src/
   +- it/
      +- group-1
         +- invoker.properties
         +- test-project/
            +- pom.xml
            +- invoker.properties
            +- src/

此文件中仅支持几个键,它们的名称通常与插件配置中的相应参数匹配。有关受支持属性的完整概述,请参阅插件参数文档中给出的示例invokerPropertiesFile

示例中给出的注释应该是不言自明的。仔细观察,您还可以注意到该语法${expression}可用于过滤属性值。值得更多描述的是在同一个项目上执行多个 Maven 构建的可能性。默认情况下,Invoker Plugin 将为每个项目执行以下步骤:

  • 如果存在,则运行预构建挂钩脚本
  • 在项目目录中调用 Maven
  • 如果存在,则运行构建后挂钩脚本

从插件版本 1.3 开始,您可以将基于 1 的索引附加到调用程序属性,以启用/配置 Maven 的进一步调用。更准确地说,invoker.goals.1指定第一次构建invoker.goals.2的目标,列出第二次构建的目标,依此类推。这些构建将一个接一个地执行:

  • 如果存在,则运行预构建挂钩脚本
  • 在项目目录中调用 Maven
  • 在项目目录中调用 Maven
  • ...
  • 在项目目录中调用 Maven
  • 如果存在,则运行构建后挂钩脚本

大多数属性都可以通过这种方式进行索引,例如invoker.profiles.3指定用于第三次调用的配置文件。如果invoker.profiles.3未定义该属性,插件将查询该属性invoker.profiles作为后备,以确定第三个构建的配置文件。如果没有定义属性i+1 ,则此构建循环在调用i后结束。invoker.*.

调用程序属性还可用于跳过基于当前 JRE 版本或 OS 系列的项目。有关此功能的更多信息,请参阅选择器条件