在我的maven项目中,我有多个maven配置文件。在每个配置文件中,我都有docker-maven-plugin和maven-failsafe-plugin。这就是我如何约束目标和阶段的方法。
docker-maven-plugin
<phase>pre-integration-test</phase>
<goals>
<goal>start</goal>
</goals>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
<goal>remove</goal>
</goals>maven-failsafe-plugin
<phase>integration-test</phase>
<goals>
<goal>integration-test</goal>
</goals>
<phase>verify</phase>
<goals>
<goal>verify</goal>
</goals>我有每种数据库类型的概要文件(如MySQL、Postgres等)。我想要做的是用每个数据库类型在docker上运行我的集成测试。
我的问题是,我是否可以使用多个配置文件(即mvn clean install -P local-postgres,local-mysql)运行mvn,以便每个配置文件都被一个接一个地执行?我的要求是不要一次装两个码头集装箱。
我观察到的是,所有配置文件的pre-integration-test阶段首先运行,The name "/apim-postgres" is already in use by container xxxxx失败。给出多个配置文件时,maven阶段应该如何工作吗?
有什么办法能满足我的要求吗?
发布于 2016-12-19 10:48:20
我不确定这是否有效,但如果您独立地定义每个配置文件,它应该可以工作。您定义每个插件两次,每个配置文件一个。执行顺序取决于各种因素。我不知道您在哪里定义了配置文件,但是如果它们是在同一个pom中定义的,那么顺序应该是在该pom中定义的。有关更多帮助,请参见content&view=article&id=1795&catid=129&Itemid=332。
https://stackoverflow.com/questions/41220519
复制相似问题