Maven:在一个阶段中将插件的多次执行与其他插件执行交错

时间:2013-06-16 20:42:22

标签: maven

我需要在预集成测试阶段执行以下操作:

  1. SQL-行家-插件:执行
  2. 码头-行家-插件:部署战
  3. SQL-行家-插件:执行
  4. 步骤1和3具有不同的配置。我尝试将1和3定义为单独的插件元素,但我相信Maven只是将它们合并为一个插件定义,从而导致执行顺序为1,3,2。

    我需要一些方法按上面定义的顺序执行这些。

1 个答案:

答案 0 :(得分:0)

关于maven构建过程的简短通知:

  1. 您只能在pom.xml中描述每个插件一次,重复描述是一种不好的做法(容易出错)。
  2. 您可以为每个插件描述多个单独的执行。
  3. 单个插件的执行(绑定到单个阶段)将按顺序运行,无论其他插件定义如何。
  4. 不同插件的执行(绑定到单个阶段)将按照pom.xml中描述的顺序运行。
  5. 考虑到这些陈述,你有一种简单的方法 - 将(1)和(3)绑定到不同的阶段。

    我建议你绑定

    • (1)and(2)to' pre-integration-test'阶段,和
    • (3)to' integration-test'相

    它将解决序列问题。另请参阅maven docs中的完整阶段列表,以便为您的案例找到合适的阶段。

    如果仅从CI服务器运行此方案,则您有替代方式。您可以通过pom.xml中的单独配置文件为显式多步构建配置构建作业:

    • 构建二进制文件
    • 迁移计划
    • 部署应用
    • 加载测试数据

    它更复杂,容易出错,所以我更喜欢第一种方式。