2013-07-31 104 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提供的答案是有效的。

問候 月