将货物启动/停止目标绑定到Maven集成测试阶段时使用tomcat7x

时间:2012-09-09 11:15:26

标签: java tomcat maven pom.xml cargo

我已经在我的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容器一起使用?

感谢。

0 个答案:

没有答案