示例:通过 Settings.xml 注入 POM 属性
动力
你有一个插件参数,它应该包含一个用户特定的值。这个参数有一个通用的格式(相对目录结构),但是取决于知道安装的应用程序的目录什么的。
插件配置
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>org.myproject.plugins</groupId>
<artifactId>my-cool-maven-plugin</artifactId>
<version>1.0</version>
<configuration>
<deploymentDirectory>${application-home}/deploy</deploymentDirectory>
</configuration>
</plugin>
</plugins>
</build>settings.xml
<settings>
[...]
<profiles>
<profile>
<id>inject-application-home</id>
<properties>
<application-home>/path/to/application</application-home>
</properties>
</profile>
</profiles>
<activeProfiles>
<activeProfile>inject-application-home</activeProfile>
</activeProfiles>
</settings>解释
当 Maven 加载项目的 POM 时,它将从文件的activeProfiles部分中提取激活的配置settings.xml文件,并注入配置文件中声明的属性。当 POM 被插值时,该application-home属性已经被注入,因此将允许解析插件的参数值。



