Spring Boot:热插拔不起作用

时间:2016-02-04 12:20:14

标签: java spring gradle spring-boot jetty

我正在使用带有gradle插件的Spring Boot 1.3.2。在我的多部分项目中,HTML / JS / CSS文件的热交换/重新加载不起作用。

/resources
  |-wro.groovy
  |-application.yml
  |-/templates/(all *.html files and index.html)
  |-/static/
      |-/js/
      |-/css/

application.yml

server:
 port: 8080

spring:
  thymeleaf:
    cache: false
    prefix: classpath:/templates/
    suffix: .html
    enabled: true
    encoding: UTF-8
    mode: HTML5

在te projet中也使用了:wro4j,thymeleaf,AngularJS

gradle.build

的一部分
buildscript {
    ext { springBootVersion = '1.3.2.RELEASE' }
    repositories {
        maven {
            url "https://ourartifactoryUrl/plugins-release"
            credentials {
                // artifactory log and pass
            }
        }
    }
    dependencies {
        classpath group: 'org.springframework.boot', name: 'spring-boot-gradle-plugin', version: springBootVersion
        classpath group: 'io.spring.gradle', name: 'dependency-management-plugin', version: '0.5.2.RELEASE'
        classpath group: 'org.jfrog.buildinfo', name: 'build-info-extractor-gradle', version: '3.1.+'
        classpath 'org.springframework.build.gradle:propdeps-plugin:0.0.7'

    }
}

apply plugin: 'spring-boot'
apply plugin: 'io.spring.dependency-management'
apply plugin: 'com.jfrog.artifactory'
apply plugin: 'idea'
apply plugin: 'application'
apply plugin: 'propdeps'
apply plugin: 'propdeps-maven'
apply plugin: 'propdeps-idea'
apply plugin: 'propdeps-eclipse'


...


dependencies {
   compile('org.springframework.boot:spring-boot-starter-web')
   compile("org.springframework.boot:spring-boot-starter-thymeleaf")
   compile("org.springframework.boot:spring-boot-starter-jetty")
   compile("org.springframework.boot:spring-boot-starter-actuator")
   compile("org.springframework.boot:spring-boot-starter-redis")
   compile("org.springframework.boot:spring-boot-devtools")
}

项目执行时:gradle :web-admin:bootRun

更新/回答:

在网上浏览并阅读spring-boot文档后,我发现了一个技巧。 使用devtools together with spring-boot-gradle-plugin时出现问题我只需要在 gradle.build 文件中添加几行:

    // Used by 'Spring Boot Gradle Plugin' in combination with 'Devtools' makes HTML/JS/CSS reloadable.
    bootRun {
        addResources = true
    }

2 个答案:

答案 0 :(得分:5)

在网上浏览并阅读spring-boot文档后,我发现了一个技巧。将devtools与spring-boot-gradle-plugin一起使用的问题因此我只需要在我的gradle.build文件中添加几行:

// Used by 'Spring Boot Gradle Plugin' in combination with 'Devtools' makes HTML/JS/CSS reloadable.
bootRun {
    addResources = true
}

答案 1 :(得分:3)

我遇到了同样的问题,我通过将应用程序属性中的spring.thymeleaf.cache设置为false来解决此问题

  

如何修复

spring.thymeleaf.cache=false文件中添加application.properties