[英]jetty-maven-plugin with run-war stops the maven execution
我想使用jetty-maven-plugin作為平台,在此平台上我可以使用外部爭奪戰測試我的應用程序。
所以我用以下配置設置了我的maven-jetty-plugin:
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<configuration>
<war>${project.build.directory}/some.war</war>
</configuration>
<executions>
<execution>
<id>start-jetty</id>
<phase>integration-test</phase>
<goals>
<goal>run-war</goal>
</goals>
<configuration>
<war>${project.build.directory}/some.war</war>
</configuration>
</execution>
<execution>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
<configuration>
<stopKey>stop</stopKey>
<stopPort>8888</stopPort>
</configuration>
</execution>
</executions>
</plugin>
當我運行它時,我得到的是這樣的:
[INFO] Started ServerConnector@55b0e42e{HTTP/1.1,[http/1.1]}{0.0.0.0:8888}
[INFO] Started @21213ms
[INFO] Started Jetty Server
可以,但是會停止執行。 之后,我的測試應該運行,但是沒有運行。 我可以使用jetty:start ,這將是沒有戰爭的解決方法,因為它可以進行測試執行,但是我無法將war文件附加到該目標。
這就是Maven插件的設計方式。
它並不意味着對外戰爭,多次戰爭,多種環境或生產用途。
它旨在在單個項目(可以是Maven多模塊反應堆構建的一部分)上運行,定義為<packaging>war</packaging>
。
只有jetty:start
允許執行才能繼續,所有其他目標都不是為此目的而設計的。
jetty:start
旨在與maven的integration-test
階段以及maven-failsafe-plugin
。
請參閱: http : //maven.apache.org/surefire/maven-failsafe-plugin/usage.html#Using_jetty_and_maven-failsafe-plugin
其他所有的maven-jetty-plugin
目標都是設計用於使用<packaging>war</packaging>
手動測試項目的
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.