Jetty:新文件的热部署

时间:2013-07-31 09:20:07

标签: deployment jetty

Jetty的热门部署很棒。我每天都通过码头使用它:跑步并节省我的一天。

但是

我不会在我的webapp中创建新文件(src / main / webapp / WEB-INF / jsp中的JSP)。 它只会重新部署修改过的文件。

有没有人知道如何让Jetty热重新部署新文件而不重新启动它?

这是我目前的配置:

<configuration>
    <scanIntervalSeconds>5</scanIntervalSeconds>
    <webAppSourceDirectory>${basedir}/src/main/webapp</webAppSourceDirectory>
    <webAppConfig>
        <defaultsDescriptor>${basedir}/src/main/config/webdefault.xml</defaultsDescriptor>
        <contextPath>/${project.artifactId}</contextPath>
        <jettyEnvXml>${project.build.directory}/jetty/jetty-env.xml</jettyEnvXml>
    </webAppConfig>
</configuration>

2 个答案:

答案 0 :(得分:0)

您可以尝试将scanTarget参数添加到上面的配置中。

<scanTargets>
    <scanTarget>src/main/webapp/WEB-INF/jsp</scanTarget>
</scanTargets>

答案 1 :(得分:0)

使用jsps的“正常”配置,当添加/更改jsp时,不需要jetty热重新部署上下文。当您点击其URL 而不重新启动上下文时,Jasper jsp容器使新的/修改的jsp可用。

但是,在您的情况下,您已将jsps放在WEB-INF中,这是一个禁止提供的位置。您必须进行某种服务器端重定向才能使jsps完全正常工作。您没有发布配置,因此我不确定您的重定向解决方案是什么。

我可以告诉你,jetty-maven-plugin仅扫描 以查找WEB-INF中特定文件的更改(这里是一个仍然相当准确的旧文档页面的链接:{{3 }})。因此,如果您的重定向设置需要在将新的jsps放入WEB-INF时重新部署上下文,那么Ayub Malik之前使用额外的scanTargets给出的答案是有效的。

问候 扬