보통 Spring boot로 개발할때에는 환경설정을 통해 브라우저를 새로고침하면서 수정된 소스를 확인해본다.
하지만 devtools 라이브러리에는 이 귀찮은 동작을 안해도 되는 꽤나 괜찮은 기능이 있다.
Automatic Restart와 Live Reload.
이 기능은 서버를 재시작하지 않아도 웹브라우저에서 변경 사항을 바로 확인할 수 있다.
이 기능을 해보기 위해 인터넷의 수많은 글들을 따라 해봤지만 좀처럼 되지 않았는데..
한 가지 빠진 것이 있었다.
build.gradle에 라이브러리 의존성 추가
implementation 'org.springframework.boot:spring-boot-devtools'
application.properties에 사용여부 추가
spring.devtools.livereload.enabled=true
spring.devtools.restart.enabled=true
spring.devtools.restart.additional-paths=src/main/webapp
livereload와 restart 기능을 사용가능으로 바꾸고 restart가 적용될 소스폴더를 추가해준다.
나의 경우 jsp 환경으로 세팅되었기에 src/main/webapp 폴더를 지정해 주었다.(이것때문에 적용이 안되었었다)
intelliJ 환경설정
intelliJ에서 Settings 메뉴를(Shift+Alt+s) 연다.
[Build, Execution, Deployment]- [Compilier]에서 Build project Automatically(프로젝트 자동빌드)를 체크해준다.
[Advanced Settings]에서 Allow auto-make to start event if developed application is currently running(개발된 애플리케이션이 현재 실행중일 때는 auto-make가 시작되도록 허용)에 체크한다.
크롬 LiveReload++ 설치
크롬에서 확장 플러그인 중 LiveReload++을 설치한다.
LiveReload 플러그인도 설치해봤는데 플러그인 관리를 안 하는 건지 응답 없음 상태가 지속이 되었다.
설치가 되면 크롬에 상단에 메뉴에 고정시키고 활성화 상태인 초록색 표시가 나게끔 체크박스를 체크 해준다.
모든 설정을 다 마친 후 로컬호스트에서 LiveReload를 활성화시키고 테스트를 진행했다.
프로젝트 소스를 수정하면 서버를 재시작하거나 크롬을 새로고침 하지 않고도 바로바로 변경된 소스가 적용되는 것을 확인할 수 있다.