我正在使用TDD并且有许多模块进行端到端测试。
其中一些是在同一个端口上启动服务器,所以我不能让它们并行。
如何标记某些工件不能并行运行?
答案 0 :(得分:1)
一些选择:
Maven的并行构建功能是依赖感知'因此,如果模块B依赖于模块A,则模块B将始终在模块A之后构建。这取代了并行构建指令。因此,您可以添加依赖项以强制串行构建。但是,是的,那个做作并且可能会变得尴尬。
将您的构建拆分为可以安全并行运行的模块子组,然后使用mvn
为每个子组运行-pl
命令,以指示Maven构建每个子组小组...
-pl,--projects <arg> Comma-delimited list of specified reactor projects to build instead of all projects. A project can be specified by [groupId]:artifactId or by its relative path.
定义配置文件以创建逻辑子组,以便如果模块A和模块C属于名为的子组,例如&#34; Foo&#34;然后这些子模块将由-PFoo
激活。
(可能)重新设计测试,以便可以安全地并行化。你可能已经考虑过这个了,所以我只是把它包含在这里以便完成。
注意:选项2
和3
实际上是相同的,它们只是两种不同的方式来定义逻辑“可并行”&#39;您父项目中的子组。