我如何在一个阶段内执行几个Maven插件并设置它们各自的执行顺序?

问题描述 投票:17回答:2

我想将Maven生命周期中的某些阶段分解为子阶段。我想控制从一个子阶段到另一子阶段的执行流程,有点像与蚂蚁相关。

例如,我想使用NSIS插件在打包阶段将我的项目打包到安装程序中,之后,我的项目已打包到war文件中。我想在打包阶段完成所有操作。

有可能吗?

plugins maven-2 phase
2个回答
13
投票
应该以与POM中列出的顺序相同的顺序执行。在某些情况下(例如,如果您将同一个插件两次绑定到一个阶段,例如antrun插件),则可能不会发生,但这是一个错误(请参见MNG-2258和相关问题MNG-3719)。

6
投票
1)试试运气,看看Maven是否为您选择了正确的顺序(您可能已经尝试过了)

2)使用独立插件-在生命周期之外运行目标。就像是:mvn软件包org.codehaus.mojo:nsis-maven-plugin:1.0:compile。

3)将它们分成模块:有一个包含两个子模块的父pom,一个子模块-您的war项目,另一个用于nsis项目。

4)通过更改类型使用自定义生命周期,在这种情况下,您可以使用“ exe”。这是通过使用自定义插件扩展(guide to using extension

完成的

5)使用jetspeed-mvn-maven-plugin。我从未使用过它,但它似乎与您的需求有关。

希望这会给您新的想法。

Ronen

© www.soinside.com 2019 - 2024. All rights reserved.