我已在 pom.xml 中成功配置 Cargo 以在执行“mvn cargo:run”命令时启动 tomcat7x。这是我使用的 Cargo 插件配置:
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.2.3</version>
<configuration>
<containerId>tomcat7x</containerId>
<containerUrl>http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.30/bin/apache-tomcat-7.0.30.zip</containerUrl>
</configuration>
</plugin>
这很好,效果很好。但是,我现在想将 Cargo 启动和停止目标绑定到 maven 预集成测试和集成测试后阶段。我使用与上面相同的配置,但也向插件添加执行,如下所示:
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.2.3</version>
<configuration>
<containerId>tomcat7x</containerId>
<containerUrl>http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.30/bin/apache-tomcat-7.0.30.zip</containerUrl>
</configuration>
<executions>
<execution>
<id>start-container</id>
<phase>pre-integration-test</phase>
<goals>
<goal>start</goal>
</goals>
</execution>
<execution>
<id>stop-container</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
这也很好地工作,在预集成测试中启动容器,执行我的集成测试,然后在后集成测试阶段停止容器。唯一的问题是它不是我配置的 tomcat7x 容器,它启动了默认的 Jetty 容器并且似乎忽略了我的 tomcat7x 配置。
如何让这些执行与我配置的 tomcat7x 容器一起工作?
谢谢。