这一定是一个死的简单答案,但我似乎无法找到!
我刚开始在 CentOS 5.5 上使用 Jetty 7.0.2 ,并使用默认设置部署了webapp
(只需放置我的WAR文件在/webapps
目录中。当Jetty启动时,它会将战争提取到/tmp/jetty
{something-warfilename-etc}目录中。
我知道Jetty有大量可以实现的自定义配置,但是,我只想设置提取的war文件的位置,以便我可以动态修改.properties
个文件等安全。
提前致谢!
答案 0 :(得分:6)
为什么不将解压后的war文件放在webapps/
?
作为他们的docs say,如果Jetty在$JETTY_HOME/webapps/
中找到目录,它将很乐意将其部署为servlet webapp。然后,您可以在不更改任何Jetty设置的情况下调整属性文件。
这也意味着当您拥有新版本的应用程序时,您不必担心Jetty会覆盖对属性文件的任何更改(尽管您仍需要小心)。
答案 1 :(得分:3)
我知道这个问题很老,但我想要一个答案,这是一个配置参数,而不是一个解压缩的WAR解决方案。配置解决方案是将以下参数添加到WebAppProvider
(在8.1.8中,这在jetty-webapps.xml
中):
<Set name="tempDir"><New class="java.io.File"><Arg>/usr/local/jetty-8.1.8/work</Arg></New></Set>
以便整个配置文件读取如下内容:
<Configure id="Server" class="org.eclipse.jetty.server.Server">
<Ref id="DeploymentManager">
<Call id="webappprovider" name="addAppProvider">
<Arg>
<New class="org.eclipse.jetty.deploy.providers.WebAppProvider">
<Set name="monitoredDirName"><Property name="jetty.home" default="." />/webapps</Set>
<Set name="defaultsDescriptor"><Property name="jetty.home" default="."/>/etc/webdefault.xml</Set>
<Set name="scanInterval">1</Set>
<Set name="contextXmlDir"><Property name="jetty.home" default="." />/contexts</Set>
<Set name="extractWars">true</Set>
<Set name="tempDir"><New class="java.io.File"><Arg>/usr/local/jetty-8.1.8/work</Arg></New></Set>
</New>
</Arg>
</Call>
</Ref>
</Configure>