什么是/ tmp / jetty-docbase目录用于

时间:2016-04-06 07:11:47

标签: spring-boot jetty embedded-jetty

我正在使用SpringBoot和Embedded Jetty。

我看到它创建目录/ tmp / jetty-docbase ...

这个目录用于什么?我怎样才能改变它的根路径?

2 个答案:

答案 0 :(得分:4)

它是文档的根; Jetty提供静态文件的位置(而不是Spring MVC的静态资源处理)。 Spring Boot按顺序尝试以下位置,一旦找到匹配就停止搜索:

  1. 明确配置的位置(ConfigurableEmbeddedServletContainer.setDocumentRoot()
  2. 如果从可执行的战争中运行.war文件
  3. 爆炸战争的根目录(由WEB-INF目录的存在标识)
  4. ./src/main/webapp
  5. ./public
  6. ./static
  7. $TMP_DIR/jetty-docbase
  8. 在你的情况下它已达到7.这个位置被用作Jetty需要一些文件根目录的位置,即使它是空的。

    如果要显式控制用于文档根目录的位置,可以通过声明JettyEmbeddedServletContainerFactory bean来配置它:

    @Bean
    public JettyEmbeddedServletContainerFactory jettyFactory() {
        JettyEmbeddedServletContainerFactory factory = new JettyEmbeddedServletContainerFactory();
        factory.setDocumentRoot(new File("custom/document/root"));
        return factory;
    }
    

答案 1 :(得分:0)

或者您可以创建文件夹./public或./static,然后springboot将永远不会为您创建临时jetty-docbase文件夹