0

我正在为我的 Web 应用程序使用 Jetty 服务器。码头是否总是在服务器启动时扩展战争文件?如果不是,我该怎么做?假设在第一次启动/部署之后,现在如果我将战争文件替换为旧的战争文件,码头不会扩展旧的战争文件。

4

1 回答 1

2

默认情况下,Jetty 总是扩展 WAR 文件。

您可以使用高级配置描述符文件extractWAR中的将其配置为不扩展。

但是,我认为您实际上要问的是,Web 应用程序/servlet 规范临时目录逻辑如何工作?

Jetty 使用的 tempDirectory 由许多因素决定,主要由 servlet 规范决定。 有关详细信息,请参阅有关 tempDirectory 配置主题的先前答案

当临时目录未指定/未配置时,使用以下粗略语法创建一个新的临时目录。

File tempDir = new File(System.getProperty("java.io.tmpdir") +
   File.separator + "jetty-" + host + "-" + port + "-" + 
   resourceBase + "-_" + context + "-" + virtualhost + "-" + randomdigits +
   ".dir");

使用的临时目录是持久的,这意味着它不会在服务器关闭时被删除。当 WAR 文件(或上下文可部署的 XML)被确定为比持久临时目录中的内容更新时,临时目录用于将 WAR 解压到其中。

从 Jetty 9.1 开始,现在有一个WebAppContext.setPersistTempDirectory(boolean)可以用来关闭临时目录持久性。

于 2013-10-30T19:06:30.357 回答