调用者属性
插件配置中的各种参数提供了一种全局配置用于在项目上运行 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 系列的项目。有关此功能的更多信息,请参阅选择器条件。