使用Maven Ant Tasks在运行时更改pom.xml中的属性.可能吗?

Ing*_*her 2 ant properties pom.xml maven

我有以下用例:我的应用程序以Ant脚本启动,它向用户询问有关项目配置的几个问题(数据库设置等).这些设置存储在属性文件中.

然后我想通过Maven Ant Tasks在我的Ant脚本中运行Maven,它应该用我的pom.xml中的预定义属性替换properties-file的属性.我不想改变pom.xml.

有没有办法做到这一点?提前致谢!

(顺便说一句,我已经尝试过与maven类似的方法,目前似乎不可能)

mdm*_*dma 7

您可以使用maven命令行重新定义属性-D,这些属性将覆盖项目文件中的属性.

例如,在pom.xml中

  <properties>
     <myProp>A</myProp>
  </properties>
Run Code Online (Sandbox Code Playgroud)

在你的ant build.xml中,你可以调用mvn命令行

mvn -DmyProp=B install
Run Code Online (Sandbox Code Playgroud)

这将在项目中将myProp设置为B. 该MVN蚂蚁任务页面介绍了使用宏来调用命令行行家.这可以很容易地定制,以传递其他属性.

要在maven中单独执行此操作,请使用exec插件启动maven,以与使用ant:java任务完成相同的方式传递命令参数.