Intellij + Springboot + Thymeleaf + gradle - autoreload html资源

时间:2017-04-13 22:15:47

标签: intellij-idea gradle spring-boot thymeleaf

我正在使用IntelliJ Ultimate,Spring Boot和Thymeleaf。

我希望在不重新启动服务器且没有CTRL-F9的情况下启用HTML的自动重新加载。

我已经阅读了以下内容,我认为它应该可行,但事实并非如此:

我已完成以下步骤:

build.gradle片段

compile group: 'org.springframework.boot', name: 'spring-boot-autoconfigure', version: '1.5.2.RELEASE'
compile("org.springframework.boot:spring-boot-devtools")
runtime('mysql:mysql-connector-java')
testCompile('org.springframework.boot:spring-boot-starter-test')
}

bootRun {
    addResources = true
}

Compilier的IntelliJ设置:

Intellij Compilier

和Intellij注册表设置:

Intelij Registry

我的HTML位于main\resources\templates,我的application.properties位于\resources\

然后我尝试了运行和调试项目,但不管怎样,我仍然需要在更改HTML之间重建(CTRL-F9)。

从snicoll和dsayer读取here这应该可以在没有CTRL-F9的情况下进行:

2 个答案:

答案 0 :(得分:1)

添加注册表设置后会出现:

compilier.automake.allow.when.app.running 

您不仅需要重启Springboot服务器,还需要重启Intellij。

现在好了。

答案 1 :(得分:0)

如果您仍在与spring-boot-devtools挣扎,建议您使用Gulp来自动执行模板和资源重新加载。以下是一个Gulp的小任务,可以为我做魔术:

var gulp = require('gulp'), 
watch = require('gulp-watch');

gulp.task('watch', function () {
    return watch('src/main/resources/**/*.*', () => {
        gulp.src('src/main/resources/**')
            //replace with build/resources/main/ for netBeans
            .pipe(gulp.dest('out/production/resources/')); 
    });
});

gulp.task('default', ['watch']);

我还为此主题写了一个简短的blog post,其中还包括其他方法。