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>
答案 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给出的答案是有效的。
问候 扬