我想从KindleIT's切换到Google's App Engine Maven插件。使用KindleIT插件时,我在预集成测试阶段就启动了GAE开发服务器。在集成后测试中完成集成测试后,我会关闭开发服务器。我们使用surefire plugin来运行我们的单元和集成测试。
<plugin>
<groupId>net.kindleit</groupId>
<artifactId>maven-gae-plugin</artifactId>
<version>0.9.5</version>
<executions>
<execution>
<id>gae-start</id>
<phase>pre-integration-test</phase>
<goals>
<goal>start</goal>
</goals>
</execution>
<execution>
<id>gae-stop</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
我这样做是因为我想再次运行本地运行的GAE应用程序的集成测试。 如何使用Google的App Engine插件执行相同操作?
<plugin>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-maven-plugin</artifactId>
<version>${gae.version}</version>
</plugin>
我想使用像
这样的东西mvn appengine:devserver
目标。但这只是在前台启动devserver。我希望Maven在测试之前在后台启动开发服务器。
答案 0 :(得分:2)
官方插件尚未支持此功能,但我们正在努力,我希望尽快将其转换为快照。我会告诉你,但这个问题是我跟踪我的工作的地方: https://code.google.com/p/appengine-maven-plugin/issues/detail?id=5
答案 1 :(得分:1)
使用maven-jetty-plugin。这个插件启动jettty实例并运行你的war / gae项目。
您可以在预集成测试阶段运行此插件,然后运行集成测试,在集成后测试阶段,服务器将关闭。
我正在使用gae应用程序,并且可以正常使用此插件。
这是我的配置,希望能帮到你:
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.15</version>
<configuration>
<contextPath>/</contextPath>
<scanIntervalSeconds>3</scanIntervalSeconds>
<stopKey>foo</stopKey>
<stopPort>9999</stopPort>
<connectors>
<connector implementation ="org.mortbay.jetty.nio.SelectChannelConnector" >
<port>${deploy.server.port}</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
</connectors>
</configuration>
<executions>
<execution>
<id>start-jetty</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<scanIntervalSeconds>0</scanIntervalSeconds>
<daemon>true</daemon>
</configuration>
</execution>
<execution>
<id>stop-jetty</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
另外,也许你会在执行中找到这个执行: 线程“Shutdown”中的异常java.lang.NoClassDefFoundError:org / apache / jasper /运行/ JspApplicationContextImpl
这将解决将此依赖项添加到您的pom.xml
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jsp-2.1</artifactId>
<version>6.0.0</version>
</dependency>