你如何强制maven执行antrun:在带有子模块的POM中的所有包任务之后运行任务?

tol*_*oli 8 maven-2

我有一个带有一堆子模块的父POM.我想在所有孩子都执行了一个任务之后运行一个antrun:run任务(我正在使用Ant包装我的应用程序,因为我放弃了弄清楚如何使程序集正常工作).

我需要所有孩子之后执行antrun任务- 但我不能将它与阶段联系起来,因为父亲在孩子之前得到"打包",我之后需要蚂蚁.

有没有办法在一个命令中执行此操作?

当然,简单的解决方法是运行2个maven命令:

mvn package; mvn antrun:run
Run Code Online (Sandbox Code Playgroud)

但如果可能的话,我想在一个中做到这一点

mvn package antrun:run
Run Code Online (Sandbox Code Playgroud)

产生错误的行为 - 它运行antrun:在子项目的阶段之前运行.

理想情况下,我只能打字

mvn package
Run Code Online (Sandbox Code Playgroud)

并且在所有子节点上运行阶段,然后运行antrun:在父节点上运行.

Pas*_*ent 12

我需要在所有孩子之后执行antrun任务 - 但我不能将它与包阶段联系起来,因为父亲在孩子之前得到"打包",我之后需要蚂蚁.

创建另一个依赖于所有子项的模块(这样它将成为反应器构建期间的最后一个项目)并package在此模块中绑定您的antrun内容.然后mvn package从根项目运行.

  • @toli:不客气.但我热烈建议明确声明依赖关系,以便以可靠的方式计算构建顺序.它目前"偶然"工作. (3认同)