gpt4 book ai didi

spring - Netbeans 8 不会重新加载静态 Thymeleaf 文件

转载 作者:行者123 更新时间:2023-12-02 09:44:38 27 4
gpt4 key购买 nike

我通过 Maven 使用 Spring Boot 和 Thymeleaf。当我进行更改时,我似乎无法让 Netbeans 自动重新部署我的任何 Thymeleaf 模板文件。为了看到更改,我需要进行完整的清理/构建/运行。这需要太长的时间。

模板位于src/main/resources/templates中。我在 src/main/resources/中有一个 application.properties 文件,其中包含 spring.thymeleaf.cache=falsespring.template.cache=false

我在项目设置中启用了“保存时编译”、“保存时复制资源”和“保存时部署” .

我的 Maven 构建生成一个 War 文件,Netbeans 将该文件部署到 Tomcat,并且我使用注释 @EnableAutoConfiguration

Netbeans 会热部署对 Java 类的更改,但不会热部署 src/main/resources/中的任何静态文件。

使用的软件:

  • Mac OS X 10.9.4
  • Java 1.8
  • Netbeans 8.0.1
  • Tomcat 8.0.12
  • Spring Boot 1.1.7
  • Thymeleaf 2.1.3(通过 Spring Boot)

非常感谢任何指导。

最佳答案

一个选择是研究配置 Thymeleaf 的 FileTemplateResolver

要使用 Spring Boot 执行此操作,请定义一个名为 defaultTemplateResolver 的实现 ITemplateResolver 接口(interface)的 bean,如果存在,Spring Boot 将采用它而不是默认值,如下所示这就是如何完成的,并假设您已激活组件扫描,因此将自动选择此配置类:

@Configuration
public class ThymeleafConfiguration {
@Bean
public ITemplateResolver defaultTemplateResolver() {
TemplateResolver resolver = new FileTemplateResolver();
resolver.setSuffix(".html");
resolver.setPrefix("path/to/your/templates");
resolver.setTemplateMode("HTML5");
resolver.setCharacterEncoding("UTF-8");
resolver.setCacheable(false);
return resolver;
}
}

前缀应该是一个相对路径,当添加到运行时工作目录(cwd)时,该相对路径将解析为模板目录。如果您不确定,请将其设置为完整的绝对路径,但是这样上面的 bean 就没有意义了。由于将 spring.thymeleaf.prefix 属性设置为绝对路径可能会产生相同的效果。

关于spring - Netbeans 8 不会重新加载静态 Thymeleaf 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26103860/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com