1. 상황
이번에 맡은 두번째 프로젝트에는 회사 내에서 기존프로젝트와 다르게 변화를 주기로 결정했다고 전해들었다.
기존에 IDE 이클립스(sts)를 쓰던 내게 IntelliJ를 쓴다는 것은 나름 큰 변화였다.
단축키도, 설정도 조금씩 달라서 처음부터 적응하느라 시간을 들여야했다.
devtools를 주입하는 것도 쉽지 않았다.
폭풍 구글링을 통해 얻은 정보를 똑같이 따라해봐도 html이 서버를 껐다 켜야만 반영이 되는 문제가 발생했다.
알고보니 인텔리제이가 버전업됨에 따라 정적 리소스를 리로드하는 설정도 바뀐 것이었다.
해결 방법을 아래에 정리해보겠다.
2. 구축 환경
- IntelliJ 2021.3 (community 버전)
- Gradle
- SpringBoot 2.1.3.RELEASE
3. build.gradle 파일에 devtools dependency를 추가
dependencies {
compileOnly("org.springframework.boot:spring-boot-devtools")
}
4. application.yml 파일에 devtools 설정 추가
- 자신이 사용하고 있는 템플릿 엔진에 맞게 설정해주어야 함.
나는 thymeleaf 사용하기 때문에 아래처럼 설정함.
spring:
devtools:
livereload:
enabled: true
restart:
enabled: true
thymeleaf:
cache: false
5. Build Project automatically
- Preferences 에서 Compirer에 Build Project automatically 를 체크해줌
(인텔리제이에서 shift + shift 누르면 전체 검색이 가능함.
여기서 settings 검색바에 치고 들어가면 됨)
6. Allow auto-make
- 여기서 내가 막힌 첫번째 부분이다. (버전 업되면서 변경된 부분이 있는데... 아래 주석 참고)
인텔리제이 2021.2 버전 이후 부터 변경된 부분.
구글에 검색 했을 때에는 registry에 가서 compiler.automake.allow.when.app.running 를 체크하라는 검색 결과가 상당히 많았는데, 지금의 최신 버전에서는 registry에 해당 내용은 없다. 아래의 경로로 변경됨.
7. Edit Configurations 설정 변경해주기 (업데이트 이전 방법)
다른 블로그 설명을 따르면, 아래 그림처럼 Edit Configurations 에 들어가서 Running Application Update Policies을 변경하라고 하는데 난 도무지 아무리 찾아도 저 항목이 보이지 않았다.
On 'Update' action 이 없음...
아무리 찾아봐도 없는데 어디에 적으라는거지
그래서 구글링 늪에 허우적 거리다가 다른 방법으로 해결했다.
7. 다른 해결 방법
Settings에서 Gradle projects -> Build and run이 기존에는 위아래 둘 다 Gradle이었으나
아래 사진처럼 IntelliJ IDEA로 변경해주었다.
그랬더니 드디어 됐다!
***
위 순서대로 했는데도 적용되지 않으면 브라우저의 캐시를 삭제하고 서버를 다시 켜봐야한다.
'Back > Spring Boot' 카테고리의 다른 글
[Spring Boot] .jar 배포 후 resources 파일 경로 찾기 (2) | 2022.06.10 |
---|---|
[SpringBoot] @Valid 어노테이션으로 validation 유효성 검사하기 (0) | 2022.02.08 |
[Spring Boot] 프로젝트 생성 및 DB 연동 (0) | 2021.12.10 |
[SpringBoot] 정적 리소스(Static Resources, img, js, css 파일 등)에 대한 접근 설정 (0) | 2021.11.29 |
[Spring Boot] 재시작 없이 정적 리소스 리로드하기 (0) | 2021.10.18 |
댓글