Spring Boot:在不重新启动服务器的情况下发布Thymeleaf模板

时间:2014-12-30 18:52:33

标签: spring spring-boot thymeleaf

有没有办法在不运行和构建war文件的情况下发布Thymeleaf模板?
这就是我的gradle文件的外观:

apply plugin: 'war'

war {
    baseName = 'bootBlog'
    version =  '0.1.0'
}


repositories {
    mavenLocal()
    mavenCentral()
    maven { url "https://repo.spring.io/libs-release" }
}

configurations {
    providedRuntime
}

dependencies {
    compile("org.springframework.boot:spring-boot-starter-thymeleaf")
    compile("org.springframework.boot:spring-boot-starter-data-mongodb")
    compile("org.springframework.boot:spring-boot-starter-actuator")
    testCompile("junit:junit")
    providedRuntime("org.springframework.boot:spring-boot-starter-tomcat")

2 个答案:

答案 0 :(得分:6)

百里香叶的工作方式是在服务器启动时缓存所有百万美元模板。这就是您没有获得最新模板的原因。要停止缓存,应用程序设置位于application.properties中,名为:

 spring.thymeleaf.cache=false

关闭此功能可防止缓存,并允许刷新模板而无需重新启动服务器。

进入配置后,停止服务器并使用gradle bootRun启动它。从现在开始,您将无需刷新即可获得最新的百万美元模板。

答案 1 :(得分:1)

如果您仍然想使用Springboot而不是Gradle,则可以在属性文件中添加另外两个属性:

  • project.base-dir(这不是springboot已知的属性,将其视为 变量来定义项目的路径)
  • spring.thymeleaf.prefix

要总结一下,您的属性文件应包含以下属性:

  • project.base-dir = file:/// path / to / your / project / base / dir

  • spring.thymeleaf.prefix = $ {project.base-dir} / src / main / resources / templates /

  • spring.thymeleaf.cache = false