在我的maven项目中,我有多个maven配置文件。在每个个人资料中,我都有docker-maven-plugin
和maven-failsafe-plugin
。这就是我限制目标和阶段的方式。
搬运工-行家-插件
<phase>pre-integration-test</phase>
<goals>
<goal>start</goal>
</goals>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
<goal>remove</goal>
</goals>
行家故障安全-插件
<phase>integration-test</phase>
<goals>
<goal>integration-test</goal>
</goals>
<phase>verify</phase>
<goals>
<goal>verify</goal>
</goals>
我有每种数据库类型的配置文件(即MySQL,Postgres等)。我想要做的是在每个数据库类型的docker上运行我的集成测试。
我的问题是,我可以使用多个配置文件运行mvn(即mvn clean install -P local-postgres,local-mysql
),以便每个配置文件一个接一个地执行吗?我的要求是不要同时装上2个码头集装箱。
我观察到的是,所有配置文件的pre-integration-test
阶段都先运行,而The name "/apim-postgres" is already in use by container xxxxx
则失败。当给出多个配置文件时,maven阶段应该如何工作?
有没有办法让我的要求得到满足?
答案 0 :(得分:0)
我不确定这是否有效,但如果您单独定义每个配置文件,它应该可以正常工作。您定义每个插件两次,每个配置文件一个。执行顺序取决于各种因素。我不知道您在哪里定义了配置文件,但是如果它们在同一个pom中定义,则订单应该是该pom中定义的顺序。有关更多帮助,请参阅https://www.waltercedric.com/index.php?option=com_content&view=article&id=1795&catid=129&Itemid=332。