【问题标题】:maven multi-module project execute parent after childmaven多模块项目在孩子之后执行父母
【发布时间】:2016-08-18 21:11:03
【问题描述】:

在 maven 多模块项目中,我们可以在子项目之后构建/执行父项目吗?

我们在父模块中有自定义插件,需要在构建子模块后执行。是否有任何 maven 生命周期说在子项目构建后执行插件?

【问题讨论】:

  • 为什么你的插件需要所有的孩子?它会做什么?

标签: maven maven-3 maven-plugin


【解决方案1】:

简单的答案是:不,因为父母总是在任何孩子之前先被执行。如果您的自定义插件需要构建所有子模块,您的插件应该检查​​这个。此外,它必须配置到一个单独的模块中,该模块包含所有其他子项作为依赖项,以确保顺序正确(Maven 会自动执行此操作)。

并且没有这样的生命周期,因为生命周期是逐步进行的,但没有定义有关子/父关系的内容...

【讨论】:

    【解决方案2】:

    创建一个“部署”模块,在该模块的 pom.xml 中定义您的插件并将该模块放在模块列表的末尾。

    【讨论】:

    • 请注意,reactor 构建顺序并不能保证模块列表的末尾确实是构建的末尾。不过,将依赖项添加到所有其他模块可能很麻烦……
    猜你喜欢
    • 2014-03-28
    • 2016-04-28
    • 1970-01-01
    • 2010-12-12
    • 2010-12-10
    • 2021-02-16
    • 2011-06-16
    • 2017-07-26
    相关资源
    最近更新 更多