7

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

  1. sql-maven-插件:执行
  2. jetty-maven-plugin:deploy-war
  3. sql-maven-插件:执行

步骤 1 和 3 具有不同的配置。我尝试将 1 和 3 定义为单独的插件元素,但我相信 Maven 只是将它们合并到一个插件定义中,导致执行顺序为 1、3、2。

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

4

1 回答 1

0

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

  1. 您只能在 pom.xml 中描述每个插件一次,重复的描述是一种不好的做法(容易出错)。
  2. 您可以为每个插件描述多个单独的执行。
  3. 单个插件(绑定到单个阶段)的执行将按顺序运行,而与其他插件定义无关。
  4. 不同插件(绑定到单阶段)的执行将按照 pom.xml 中描述的顺序运行。

考虑这些语句,您有一个简单的方法- 将 (1) 和 (3) 绑定到不同的阶段。

建议你绑定

  • (1) 和 (2) 到“预集成测试”阶段,以及
  • (3) 到“集成测试”阶段

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

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

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

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

于 2016-06-12T01:36:16.347 回答