본문 바로가기
Back-End/Spring Boot

[Spring Boot] Kotlin + Spring Boot IntelliJ Hot Reload 설정 (compiler.automake.allow.when.app.running 없는 버그 해결)

by 흐암졸령 2022. 9. 12.
반응형

 처음 Spring Boot 프로젝트를 시작하고 개발을 하다보면 수정사항이 있을 때마다 재시작을 해야지 변경사항이 반영된다. 조금씩 바꿀 때마다 다시 시작한다는 것은 불편하고 시간도 낭비되어서 Hot Reload 설정을 찾아보았다. 그런데 대부분 Spring Boot + Java 가 대부분이고, IntelliJ 버전도 이전을 기준으로 한 설명이 많아 최근 버전을 기준으로 정리해보았다.

 

현재 스택 : Kotlin + Spring Boot + Gradle + IntelliJ 2022.2

 

[ Hot Reload 설정 방법 ]

1. Spring Boot Dev Tool 을 프로젝트 Dependency에 추가하기

 코틀린에서는 프로젝트 루트에 build.gralde.kts 가 있다. 이 중에서 dependencies가 있는데 다음과 같이 spring-boot-debtools 를 추가해야 한다.

dependencies {
   implementation("org.springframework.boot:spring-boot-devtools")
   ... other stuff
}

 

2. Preference > Build, Execution, Deployment > Compiler 에서 Build project automatically 체크하기

 먼저 Preference에 들어간다. 윈도우는 정확하지 않지만 맥에서는 커맨트와 "," 를 같이 누르면 켜진다. 그러면 Build, Execution, Deployment 에서 다시 Compiler를 누르면 다음과 같은 창이 나온다.

Preference > Build, Execution, Deployment > Compiler

필자는 이미 체크를 하였는데 여러 옵션 중에서 "Build project automatically" 를 체크하면 된다.

 

3. Preference > Advanced Settings 에서 Allow auto-make to start even if developed application 체크하기

 아까처럼 Preference에서 맨 아래에 있는 Advanced Settings 를 들어가면 다음과 같은 창이 나온다.

여기서도 필자는 이미 체크가 되어있는데 Allow auto-make to start even if developed application is currently running 을 체크하면 된다.

 

 +) 다른 자료들을 찾아보면 Registry에 들어가서 compiler.automake.allow.when.app.running 을 체크하라고 할 것이다. 필자도 처음에는 해당 설정을 찾아보았는데 registry에 들어가서 보아도 해당 옵션이 없다. 그래서 더 찾아보니 IntelliJ 2021.2 버전부터 위의 설정이 Advanced Settings 으로 옮겨졌다고 한다.

 

4. Project Run/Debug Configurations 수정하기

IntelliJ 위쪽 줄에 실행버튼 왼쪽 버튼을 클릭 후에 Edit Configurations... 를 클릭하면 다음과 같은 창이 나온다.

여기서 파란색 Modify options를 클릭하면 다시 아래와 같은 탭이 추가로 나온다.

해당 탭에서 지금은 Do nothing 으로 설정되어 있는 두 가지를 수정해야 한다. 바로 "On 'Update' action" 과 "On frame deactivation" 이다. 해당 설정을 클릭하면 다시 여러 선택지가 나오는데 두 가지 모두 Update classes and resources 로 변경한다.

두 가지 모두 정상적으로 추가가 되었다면 첫 페이지 아래에 설정한 값들이 나오게 된다.

Run/Debug Configulations 창 아래 부분

이제 모든 설정을 끝냈다. 만약 프로젝트를 실행중이라면 종료하고 "디버그" 모드로 실행을 하면 된다. 상단의 초록색 벌레 버튼으로 실행하면 코드를 수정할 때마다 자동으로 재 빌드를 하여서 즉각 반응한다.

 

[ Reference ]

 

How I Fixed: Kotlin Spring Boot Auto Reload in IntelliJ IDEA - Code Review Videos

How I Fixed: Kotlin Spring Boot Auto Reload in IntelliJ IDEA - Learn more on Code Review Videos.

codereviewvideos.com

 

IntelliJ 자동 빌드 설정 방법 (Registry에 compiler.automake.allow.when.app.running이 없는 경우)

IntelliJ 자동 빌드 설정 방법

velog.io

 

 

반응형

댓글