시작하기 앞서

방학을 맞아 Spring Boot를 이용하여 프로젝트를 진행하던 중 Live Reload를 적용하려고 여러가지 시도를 해봤다. 언제나 그렇듯 인터넷에 널린 자료들은 나에게는 적용이 안되었다. 그 삽질을 포스팅하기로 했다.

시도한 것



굉장히 많은 포스팅을 보면서 적용을 시도했지만 실패했다.

Gradle 의존성 주입

developmentOnly 'org.springframework.boot:spring-boot-devtools' devtools 의존성을 주입해야한다. devtools안에 Live Reload server가 내장되어 있다.

Chrome Extension 설치

Live Reload Extension을 설치한다. 설치 링크

브라우저 캐시 삭제

브라우저의 캐시된 이미지 또는 파일을 삭제한다.



IntelliJ 설정

Ctrl + Shift + A 를 누르고 Registry를 검색한다.
ide.windowSystem.autoShowProcessPopup, compiler.automake.allow.when.app.running 을 check한다.



Ctrl + Alt + S -> Compiler -> Build project automatically check



Edit Configuration 추가

Edit Configuration에 On 'update' action과 On frame deactivation이 Do Nothing으로 설정되어 있었다. 그래서 바꿔준다.
Edit Configurations -> On 'Update' action -> Update classes and resources
Edit Configurations -> On frame deactivation -> Update classes and resources



Gradle properties 추가

나는 application.properties를 사용했다.
기존 포스팅들에는 spring.devtools.livereload.enabled=true만 있었다. 이걸 입력했을 때 나는 안됐다. 또 다른 방법으로는 Main class에서 핸들링하는 방법도 있었다. 아래와 같이 입력하라고 했었다.

System.setProperty("spring.devtools.restart.enabled", "false");
System.setProperty("spring.devtools.livereload.enabled", "true");

그런데 나는 또 안됐다. 그러다가 이 포스팅에서 답을 찾았다.
application.properties에 spring.thymeleaf.cache=false를 추가해주면 된다.



이러면 잘 되더라.... 삽질 끝~

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 라이프코리아트위터 공유하기
  • shared
  • 카카오스토리 공유하기