我正在将Jetty服务器用于我的Web应用程序。 jetty总是在服务器启动时扩展war文件吗? 如果不是我怎么能这样做? 让我们说在第一次启动/部署之后,现在如果我将war文件替换为旧的war文件,则jetty不会扩展旧的war文件。
答案 0 :(得分:2)
默认情况下,Jetty总是扩展WAR文件。
您可以使用advanced configuration descriptor file中的extractWAR
将其配置为不展开。
但是,我认为你实际上在询问的是,web app / servlet spec temp目录逻辑是如何工作的?
Jetty使用的tempDirectory由许多因素决定,主要由servlet规范决定。 See prior answer about the topic of tempDirectory configuration for details
如果未指定/取消配置临时目录,则使用following rough syntax创建新的临时目录。
File tempDir = new File(System.getProperty("java.io.tmpdir") +
File.separator + "jetty-" + host + "-" + port + "-" +
resourceBase + "-_" + context + "-" + virtualhost + "-" + randomdigits +
".dir");
使用的临时目录是持久的,这意味着在服务器关闭时不会删除它。 temp目录用于在确定WAR文件(或上下文可部署的XML)比持久临时目录中的内容更新时将WAR解压缩。
从Jetty 9.1开始,现在有WebAppContext.setPersistTempDirectory(boolean)
可用于关闭临时目录持久性。