Ham*_*ish 4 spring netbeans maven thymeleaf spring-boot
我正在通过 Maven 使用 Spring Boot 和 Thymeleaf。当我进行更改时,我似乎无法让 Netbeans 自动重新部署我的任何 Thymeleaf 模板文件。为了查看更改,我需要进行完整的清理/构建/运行。这需要太长时间。
模板在src/main/resources/templates
. 我在 src/main/resources/ 中有一个 application.properties 文件,带有spring.thymeleaf.cache=false
和spring.template.cache=false
。
我在项目设置中打开了“保存时编译”、“保存时复制资源”和“保存时部署”。
我的 Maven 构建生成了一个战争文件,Netbeans 将其部署到 Tomcat,我正在使用注释@EnableAutoConfiguration
。
Netbeans会热部署对 Java 类的更改,但不会对 src/main/resources/ 中的任何静态文件进行热部署。
使用中的软件:
非常感谢任何指导。
一个选项是研究配置 Thymeleaf 的FileTemplateResolver
要使用 Spring Boot 做到这一点,请定义一个实现ITemplateResolver
具有 name的接口的 bean defaultTemplateResolver
,当存在时,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;
}
}
Run Code Online (Sandbox Code Playgroud)
本prefix
应是,当添加到您的运行时的工作目录(CWD),将解析为模板目录的相对路径。如果您不确定,请将其设置为完整的绝对路径,但是上面的 bean 就没有意义了。由于将spring.thymeleaf.prefix
属性设置为绝对路径可能会产生相同的效果。