spring boot로 개발 중에 html을 수정하면서 화면을 만드는데 실시간 반영이 안되서 확인을 위해 리로드를 하려고 하니 서버를 내렸다가 올려야 반영이 되었다.
spring의 경우엔 webapp 폴더에 정적 리소스(html/css/js)가 있어서 해당 경로로 tomcat이 동작하기 때문에 실시간 반영이 되지만, spring boot의 경우에는 resources 폴더 아래에서 정적 리소스를 관리하다 보니 갱신을 위해서는 tomcat을 재시작 해줘야한다.
수정할 때마다 수십번 내렸다 올렸다를 반복하려니 짜증이나서 실시간으로 반영되도록 설정을 했다.
우선 build.gradle에 spring-boot-devtools 의존성을 추가해주었다.
그 후, application.yml에
- spring.devtools.livereload.enabled=true
- spring.freemarker.cache=false
설정.
(freemarker.cache의 경우, 운영서버에 반영하면 캐싱안되어서 서버에 부담이 갈 수 있으니 주의)
Ctrl + Alt + S키를 누르면 Settings가 나온다. 여기서 Compiler를 검색, Build project automatically를 체크.
이후, Advanced Settings 메뉴에서 Allow auto-make to start even if developed application is currently running 체크.
( 예전에는 Registry... 에서 compiler.automake.allow.when.app.running 항목을 체크했었으나, 버전이 바뀌면서 설정이 변경됨.
참조 : https://youtrack.jetbrains.com/issue/IDEA-274903 )
해당 설정하면 바로바로 적용 되는 것을 확인 할 수 있다.
'Spring Boot 실력 상승!' 카테고리의 다른 글
Window에서 Mustache 사용 시 userName값 이상 (0) | 2021.04.16 |
---|---|
MockHttpServletRequestBuilder의 .param/.params (1) | 2020.07.30 |