如何使用 jetty 9 maven 插件让 deploy-war 工作?
How do I get deploy-war to work using jetty 9 maven plugin?
在 jetty-9 中,mvn jetty:deploy-war
无法启动 Web 应用程序。 Maven 刚刚结束构建,而我预计它会被 运行 码头服务器阻塞。根据日志输出,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 在 deploymentwar 之前构建
参考:the jetty-9 maven plugin manual。我调试了码头启动过程,但到目前为止运气不佳。
The documentation you linked to tells you why.
将daemon
参数设置为false
,它会阻塞
在 jetty-9 中,mvn jetty:deploy-war
无法启动 Web 应用程序。 Maven 刚刚结束构建,而我预计它会被 运行 码头服务器阻塞。根据日志输出,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 在 deploymentwar 之前构建
参考:the jetty-9 maven plugin manual。我调试了码头启动过程,但到目前为止运气不佳。
The documentation you linked to tells you why.
将daemon
参数设置为false
,它会阻塞