启动jetty-maven-plugin而不是执行exec-maven-plugin

时间:2014-03-17 17:04:46

标签: maven jetty maven-jetty-plugin

有人可以帮我这个!!

我的pom.xml

    "start the jetty server
<plugin>
                <groupId>org.mortbay.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>8.1.14.v20131031</version>
                <executions>
                    <execution>
                        <phase>
                                test
                        </phase>
                        <goals>
                            <goal>start</goal>
                        </goals>
                    </execution>

                </executions>
                <configuration>
                    <scanIntervalSeconds>0</scanIntervalSeconds>
                    <connectors>
                        <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
                            <port>3663</port>
                            <maxIdleTime>60000</maxIdleTime>
                        </connector>
                    </connectors>
                </configuration>
            </plugin>

" run the jasmine unit tests on the jetty server

            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>exec-maven-plugin</artifactId>
                <version>1.2.1</version>
                <executions>
                    <execution>
                        <id>PhantomJS Unit Testing</id>
                        <phase>test</phase>
                        <goals>
                            <goal>exec</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>

                    <executable>${basedir}/src/main/webapp/test/phantomjs_framework/phantomjs.exe</executable>

                    <workingDirectory>${basedir}/src/main/webapp/test/phantomjs_framework</workingDirectory>

                    <arguments>
                        <!-- <argument>run_jasmine.js</argument> -->
                        <argument>phantomjs_jasminexml_runner.js</argument>
                        <argument>http://localhost:3663/test/phantomjs_framework/test_runner.html</argument>
                        <argument>${project.build.directory}/surefire-reports</argument>
                    </arguments>
                </configuration>
            </plugin>

我们的想法是使用jetty-maven-plugin启动jetty服务器,而不是使用exec-maven-plugin执行jasmine测试。

目前我必须做以下事情:

  1. 运行“jetty:run”以启动jetty服务器
  2. 运行“mvn test”运行测试
  3. 它工作正常!!

    BUT:

    好吧,我希望能够只运行“mvn test”并且jetty服务器将自动启动,目前它没有发生且测试失败我必须首先手动运行“jetty:run”

    我来回走动,无法让它工作

    任何帮助请!! 谢谢。 凯斯卡布。

1 个答案:

答案 0 :(得分:0)

我可以告诉你,不使用它是集成测试,所以请调用jetty-maven-plugin阶段的test-compile

或者,按照Karl-Heinz的建议,在pre-integration-test阶段进行设置,然后在failsafe-maven-plugin阶段使用integration-test执行测试。