2016-01-07 3 views
5

Я создал проект Spring Boot Gradle, в котором используется Thymeleaf. Моя IDE - IntelliJ. Я создал application.properties в корневой папке с:Как включить Thymeleaf Live Reloading в Spring Boot 1.3

spring.resources.cache-period=0 
spring.thymeleaf.cache=false 
spring.thymeleaf.mode=LEGACYHTML5 

Но почему-то до сих пор не авто-обновление. Сначала я должен нажать кнопку «Сделать проект». У меня есть другой проект с той же конфигурацией (не уверен в настройках IntelliJ), что, как ни странно, работает над обновлением.

Мое приложение application.properties считывается, так как я могу вытащить пользовательское свойство, используя аннотацию @Value.

Для справки, мой build.gradle

buildscript { 
    ext { 
     springBootVersion = '1.3.1.RELEASE' 
    } 
    repositories { 
     mavenCentral() 
     jcenter() 
    } 
    dependencies { 
     classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") 
     classpath("org.springframework:springloaded:1.2.5.RELEASE") 
    } 
} 

apply plugin: 'spring-boot' 
apply plugin: 'java' 
apply plugin: 'idea' 

sourceCompatibility = 1.8 
targetCompatibility = 1.8 

idea { 
    module { 
     inheritOutputDirs = false 
     outputDir = file("$buildDir/classes/main/") 
    } 
} 

jar { 
    baseName = 'earthalive' 
    version = "" 
} 

repositories { 
    mavenCentral() 
} 


dependencies { 
    compile('org.springframework.boot:spring-boot-starter-web') 
    compile('org.springframework.boot:spring-boot-starter-thymeleaf') 
    testCompile('org.springframework.boot:spring-boot-starter-test') 
    compile('net.sourceforge.nekohtml:nekohtml:1.9.22') 
} 

task wrapper(type: Wrapper) { 
    gradleVersion = '2.9' 
} 

Идеи?

ответ

6

Согласно Spring Boot 1.3 release documentation:

не

Весна загрузки Gradle плагин больше не добавляет src/main/resources непосредственно к классам при использовании bootRun. Если вы хотите жить, редактирование на месте, мы рекомендуем использовать Devtools. Свойство addResources может быть установлено в вашей конструкции градации, если вы хотите восстановить Spring Boot 1.2. поведение.

Thymeleaf полагается на src/main/resources добавляется пути к классам независимо, если вы используете пружинный Boot-DevTools или нет. К счастью, у spring-boot-devtools есть возможность включить это снова, чтобы восстановить поведение загрузки 1.2.

добавить на build.gradle:

https://docs.spring.io/spring-boot/docs/current/reference/html/build-tool-plugins-gradle-plugin.html

bootRun { 
    addResources = true 
} 

Личное мнение: Она смотрит на меня, как подпружиненными в конечном итоге будет устаревшим в пользу пружинных загрузочными-Devtools. Динамическая горячая замена кажется сложным делом весной, и я думаю, что команда Spring решила скорее работать над быстрой перезагрузкой, как используется devtools.

+0

У меня такая же проблема, любое решение для Maven? – PowerFlower

+0

для maven смотрите https://docs.spring.io/spring-boot/docs/current/maven-plugin/usage.html. – jeton

1

Поскольку вы используете 1,3 Весеннее загрузки - возможно, другой проект с использованием DevTools - которая автоматически освежает springBoot приложения:

compile 'org.springframework.boot:spring-boot-devtools' 

весна-загрузки-DevTools является то, что делает работу с Thymeleaf большим для меня - в сочетании с расширением chrome/firefox от Live Reload вам даже не придется обновлять свой браузер. Spring docs

dependencies { 
    compile 'org.springframework.boot:spring-boot-devtools' 
    compile('org.springframework.boot:spring-boot-starter-web') 
    compile('org.springframework.boot:spring-boot-starter-thymeleaf') 
    testCompile('org.springframework.boot:spring-boot-starter-test') 
    compile('net.sourceforge.nekohtml:nekohtml:1.9.22') 
} 
+0

Я не использую spring-boot-devtools в любом проекте. Не желайте добавлять другую зависимость, если я ее не требую. – Spider

1

Eclipse автоматически скомпилирует проект при сохранении. IntelliJ не делает. Действие компиляции - это то, что вызывает перезагрузку. Который, как пользователь IntelliJ, я нахожу раздражающим.

Я сделал обзор Devtools и перезагрузки на моем блоге здесь: https://springframework.guru/spring-boot-developer-tools/

+0

У меня есть 2 проекта, один из которых работает, а другой - нет.В проекте, который работает, кажется, что он не компилируется. Он должен загружать шаблоны из источника (а не в банку), «на лету», поэтому сохранение и обновление отлично работают. Я понятия не имею, почему он не работает для моего второго проекта. Возможно, я должен создать новый проект и повторно импортировать код. – Spider

Смежные вопросы