如何循环Maven执行?

如何循环Maven执行?,maven,integration-testing,sharding,Maven,Integration Testing,Sharding,在maven项目中,在流程测试资源阶段,我使用SQLMaven插件设置数据库模式。在这个项目中,有N个数据库碎片,我设置了N个,重复使用与数据库名称完全相同的内容栏。一切正常 这里的问题是,随着碎片数量的增加,相似块的数量也在增加,这既麻烦又让维护变得烦人(因为,根据定义,所有这些数据库实际上都是相同的)。我希望能够定义一个数据库名的“列表”,并让SQLMaven插件为每个数据库名运行一次,而不必多次定义整个块 我不希望在测试设置中进行更改,因为我确实希望在测试环境中设置所需的尽可能多的碎片。我

在maven项目中,在流程测试资源阶段,我使用SQLMaven插件设置数据库模式。在这个项目中,有N个数据库碎片,我设置了N个,重复使用与数据库名称完全相同的内容栏。一切正常

这里的问题是,随着碎片数量的增加,相似块的数量也在增加,这既麻烦又让维护变得烦人(因为,根据定义,所有这些数据库实际上都是相同的)。我希望能够定义一个数据库名的“列表”,并让SQLMaven插件为每个数据库名运行一次,而不必多次定义整个块

我不希望在测试设置中进行更改,因为我确实希望在测试环境中设置所需的尽可能多的碎片。我只需要一些“maven sugar”就可以方便地定义执行应该“循环”的值

我知道,maven本身不支持迭代,我正在寻找替代方案或想法,以更好地实现这一点。我想到的是:

  • 使用/编写管理多个参数化执行的“循环”插件
  • 扩展SQLMaven插件以支持我的用例
有人有更好/更清洁的解决方案吗


提前感谢。

在这种情况下,我建议使用maven antrun插件来处理这种情况,但当然也可以为这种目的实现特定的maven插件。

就我个人而言,使用ant是最不理想的解决方案。我真的无法给出比“不是纯maven”更好的论据来支持这一点。最后,我编写了一个非常简单的fork of maven sql插件来支持这一点,并且已经投入生产几个月了。为了记录在案,如果有人对此感兴趣,代码就在这里:我非常感谢任何批评/建议,因为这实际上很快就完成了。正如我在回答khmarbaise的回答时所解释的,我并不真正喜欢antrun,但这似乎被广泛接受,我开始认为我应该给这种可能性一些爱。