我有以下用例: 我的应用程序是使用 Ant 脚本启动的,它会向用户询问有关项目配置(数据库设置等)的几个问题。这些设置存储在属性文件中。
然后我想通过 Maven Ant Tasks 从我的 Ant 脚本中运行 Maven,它应该用属性文件的属性替换我的 pom.xml 中的预定义属性。 我不想更改 pom.xml。
有没有办法做到这一点? 提前致谢!
( BTW i already tried a similar approach with maven only, which seems to be impossible at the moment )
最佳答案
您可以使用 -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 任务相同的方式传递命令参数。
关于ant - 使用 Maven Ant 任务在运行时更改 pom.xml 中的属性。是否可以?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2848742/