我想将Maven生命周期中的某些阶段分为子阶段。我想控制从一个子相到另一个子相的执行流,就像蚂蚁依赖性一样。

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

那可能吗?

谢谢

有帮助吗?

解决方案

插件绑定到同一阶段 应该 与POM中列出的顺序相同的顺序执行。在某些情况下(例如,如果您将相同的插件绑定到两个阶段,例如ANTRUN插件),这可能不会发生,但这是一个错误(请参阅 MNG-2258 和相关问题 MNG-3719).

其他提示

我有同样的问题。看着 如何在Maven2构建中执行有序任务。由于某种原因,绑定到一个阶段的不同目标存储在哈希地图或其他无序结构中,这使执行顺序随机。我的解决方案是将任务传播到不同的阶段,但我认为在您的情况下没有太大的意义(NSIS包装不是预集成测试)。您可以做以下一个:

1)尝试运气,看看Maven是否适合您的订单(您可能已经尝试过)

2)使用独立插件 - 在生命周期之外运行目标。类似:MVN软件包org.codehaus.mojo:nsis-maven-plugin:1.0:编译。

3)将它们分成模块:让父型POM包含两个子模块,一个 - 您的战争项目,另一个用于NSIS项目。

4)通过更改类型来使用自定义生命周期,在您的情况下,您可以使用“ EXE”。这是通过使用自定义插件扩展名来完成的(使用扩展指南)

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

希望这给您新的想法。

罗恩

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