我有以下用例: 我的应用程序在启动时Ant脚本的,它要求用户对项目配置的几个问题(数据库设置等)。这些设置存储在一个属性文件。

然后,我想从我的Maven通过Ant任务,这应该在我的pom.xml与属性文件的属性代替预先定义的属性Ant脚本内运行Maven。 我不想改变的pom.xml。

有没有办法做到这一点? 由于事先!

BTW我已经尝试过类似的方法只用Maven的时候,这似乎此刻是不可能的)

有帮助吗?

解决方案

您可以使用-D重新定义Maven的命令行上的属性,这些将在您的项目文件替换的属性。

例如,在pom.xml中

  <properties>
     <myProp>A</myProp>
  </properties>

在您的蚂蚁的build.xml,可以然后调用如MVN命令行

mvn -DmyProp=B install

将在项目中设置myProp到B。使用宏的 MVN Ant任务页面讨论调用行家命令行。这可以容易地定制,以还通过附加属性。

要做到这一点,仅是Maven,使用 EXEC 插件推出Maven的时候,通过以相同的方式命令参数如使用的蚂蚁完成:java的任务

其他提示

你有没有尝试更换通过<copy> Ant任务飞的属性?

假设你的性质在文件settings.properties。定义属性在pom.xml与周围@更换,您可以复制的POM文件,并在同一时间代替部分属性。 E.g:

<copy file='pom.xml' toFile='real-pom.xml'>
  <filterset filtersfile='settings.properties' />
</copy>

然后调用Maven的:

  

MVN -f真实的pom.xml

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top