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