如何使用jetty 9 maven插件使用deploy-war工作?

时间:2015-05-07 10:45:57

标签: jetty maven-jetty-plugin jetty-9

在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。我调试了码头启动过程,但到目前为止没有运气。

1 个答案:

答案 0 :(得分:1)

The documentation you linked to tells you why

daemon参数设置为false,它将阻止