什么是 /tmp/jetty-docbase 目录用于
What is /tmp/jetty-docbase directory used for
我正在使用 SpringBoot 和嵌入式 Jetty。
我看到它创建了目录 /tmp/jetty-docbase...
这个目录有什么用?我怎样才能改变它的根路径?
这是文档根目录; Jetty 提供静态文件的位置(而不是 Spring MVC 的静态资源处理)。 Spring Boot 按顺序尝试以下位置,一旦找到匹配就停止搜索:
- 明确配置的位置(
ConfigurableEmbeddedServletContainer.setDocumentRoot()
)
.war
文件 if 运行 来自可执行文件 war
- 展开的根目录war(通过存在
WEB-INF
目录来识别)
./src/main/webapp
./public
./static
$TMP_DIR/jetty-docbase
在您的情况下,它达到了 7。使用此位置是因为 Jetty 需要一些位置作为其文档根目录,即使它是空的。
如果您想明确控制用于文档根目录的位置,您可以通过声明一个 JettyEmbeddedServletContainerFactory
bean 来配置它:
@Bean
public JettyEmbeddedServletContainerFactory jettyFactory() {
JettyEmbeddedServletContainerFactory factory = new JettyEmbeddedServletContainerFactory();
factory.setDocumentRoot(new File("custom/document/root"));
return factory;
}
或者您可以创建文件夹 ./public 或 ./static 然后 springboot 永远不会为您创建临时 jetty-docbase 文件夹
我正在使用 SpringBoot 和嵌入式 Jetty。
我看到它创建了目录 /tmp/jetty-docbase...
这个目录有什么用?我怎样才能改变它的根路径?
这是文档根目录; Jetty 提供静态文件的位置(而不是 Spring MVC 的静态资源处理)。 Spring Boot 按顺序尝试以下位置,一旦找到匹配就停止搜索:
- 明确配置的位置(
ConfigurableEmbeddedServletContainer.setDocumentRoot()
) .war
文件 if 运行 来自可执行文件 war- 展开的根目录war(通过存在
WEB-INF
目录来识别) ./src/main/webapp
./public
./static
$TMP_DIR/jetty-docbase
在您的情况下,它达到了 7。使用此位置是因为 Jetty 需要一些位置作为其文档根目录,即使它是空的。
如果您想明确控制用于文档根目录的位置,您可以通过声明一个 JettyEmbeddedServletContainerFactory
bean 来配置它:
@Bean
public JettyEmbeddedServletContainerFactory jettyFactory() {
JettyEmbeddedServletContainerFactory factory = new JettyEmbeddedServletContainerFactory();
factory.setDocumentRoot(new File("custom/document/root"));
return factory;
}
或者您可以创建文件夹 ./public 或 ./static 然后 springboot 永远不会为您创建临时 jetty-docbase 文件夹