【问题标题】:Change properties in pom.xml at runtime with Maven Ant Tasks. Is it Possible?在运行时使用 Maven Ant 任务更改 pom.xml 中的属性。可能吗?
【发布时间】:2011-02-20 09:09:52
【问题描述】:
【问题讨论】:
标签:
ant
properties
maven
pom.xml
【解决方案1】:
您可以使用 -D 在 maven 命令行上重新定义属性,这些属性将覆盖您项目文件中的属性。
例如在 pom.xml 中
<properties>
<myProp>A</myProp>
</properties>
在你的 ant build.xml 中,你可以像这样调用 mvn 命令行
mvn -DmyProp=B install
这将在项目中将 myProp 设置为 B。 mvn ant task page 讨论了使用宏来调用 maven 命令行。这可以很容易地自定义以传递其他属性。
要单独在 maven 中执行此操作,请使用 exec 插件启动 maven,以与使用 ant:java 任务相同的方式传递命令参数。
【解决方案2】:
您是否尝试通过<copy> ant task 即时替换属性?
假设您的属性在文件settings.properties 中。在pom.xml 中用@ 定义要替换的属性,您可以复制pom 文件并同时替换一些属性。例如:
<copy file='pom.xml' toFile='real-pom.xml'>
<filterset filtersfile='settings.properties' />
</copy>
然后你调用maven:
mvn -f real-pom.xml