在jetty-9中,mvn jetty:deploy-war
无法启动Web应用程序。 Maven刚刚结束构建,而我希望它可以阻止运行的jetty服务器。根据日志记录输出,jetty maven插件会在端口8080上启动连接器,并启动WebAppContext。它似乎无法将端口绑定到上下文。
重现的步骤:
创建一个网络应用:mvn archetype:generate -DinteractiveMode=false -DarchetypeArtifactId=maven-archetype-webapp -DgroupId=jetty -DartifactId=jetty-demo
将此插件部分添加到pom:
<build>
<plugins>
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.2.10.v20150310</version>
</plugin>
</plugins>
...
</build>
执行:
mvn package
mvn jetty:deploy-war
这应该启动Web应用程序然后阻止,但它只是结束构建
使用jetty-8一切正常:
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>8.1.16.v20140903</version>
注意:mvn jetty:run-war
在jetty 9中按预期工作。这与deploy-war相同,但它会在部署之前触发jetty来构建战争
参考:the jetty-9 maven plugin manual。我调试了码头启动过程,但到目前为止没有运气。