2013-07-31 63 views
0

码头的热部署非常棒。我每天通过码头使用它:跑步并保存我的一天。码头:热部署新文件

但是。

它不会在我的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

你有没有添加任何配置在你的pom.xml Jetty的插件? –

+0

@AyubMalik用我的配置更新了这个问题 – Trumbitta

回答

0

你可以尝试添加scanTarget参数,你的配置上面。

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

对于jsps的“正常”配置,当添加/更改jsp时,不需要jetty热重新部署上下文。 Jasper jsp容器在不重新启动上下文的情况下创建新的/已修改的jsp时可以使用它的URL

但是,就你的情况而言,你已将jsps放入WEB-INF内,这是一个被禁止提供的位置。为了让jsps完全可以工作,你必须放入某种服务器端重定向。你没有发布你的配置,所以我不确定你的重定向解决方案是什么。

我可以告诉你,对于WEB-INF内的变化对特定文件码头 - Maven的插件扫描(这里是一个古老的文档页面,仍然是相当准确的链接:http://docs.codehaus.org/display/JETTY/Which+files+are+scanned+by+the+Jetty+Maven+Plugin)。因此,如果您的重定向设置要求在将新的jsps放入WEB-INF时重新部署上下文,那么Ayub Malik先前使用额外的scanTargets提供的答案是有效的。

问候 月