可以过滤子项目的某些文件,即在实际构建开始之前,特殊标记将被其他字符串替换。具体来说,将过滤以下文件:
以下示例目录结构突出显示由 Invoker 插件过滤的文件:
./
+- pom.xml
+- src/
+- it/
+- settings.xml <- Filtered
+- aggregator-project/
+- child-module-1/
| +- pom.xml <- Filtered
+- child-module-2/
| +- pom.xml <- Filtered
+- pom.xml <- Filtered
+- invoker.properties <- Filtered
+- goals.txt <- Filtered
+- profiles.txt <- Filtered
以下是插件配置的相应 POM 片段:
<project>
<properties>
<projectPropertyUsedForFiltering>another-value</projectPropertyUsedForFiltering>
</properties>
...
<build>
<plugins>
<plugin>
<artifactId>maven-invoker-plugin</artifactId>
<version>1.4</version>
<configuration>
<projectsDirectory>src/it</projectsDirectory>
<cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
<pomIncludes>
<pomInclude>*/pom.xml</pomInclude>
</pomIncludes>
<settingsFile>src/it/settings.xml</settingsFile>
<filterProperties>
<pluginPropertyUsedForFiltering>some-value</pluginPropertyUsedForFiltering>
</filterProperties>
</configuration>
<executions>
<execution>
<id>integration-test</id>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
过滤文件时,插件会按以下指示的顺序搜索各种数据源以查找令牌的替换值。一旦找到现有的替换值,搜索就会终止,即该值不是null。
| 内置属性 | 价值 | 自从 |
|---|---|---|
| 基于的 | 主构建的项目基目录的绝对路径。 | 1.1 |
| 基本网址 | 文件:主构建的项目基目录的 URL 。 | 1.4 |
| 本地存储库 | 用于主构建的本地存储库的绝对路径。 | 1.2 |
| localRepositoryUrl | 文件:用于主构建的本地存储库的 URL 。 | 1.3 |
无法确定重置价值的代币将保持不变。