이클립스에서 인텔리제이로 IDE를 갈아탄 이후 가장 불편했던 점이 로컬에서 인텔리제이를 통해 프로젝트가 실행 중인 상태에서 클래스나 리소스를 수정했을 때마다 프로젝트를 수동으로 재시작해야 했던 점이다.
그러던 중에 인텔리제이에서도 스프링부트 프로젝트의 클래스나 리소스를 수정했을 때 자동으로 프로젝트를 재시작해주는 기능이 있다는 것을 알게 되어 정리하려고 한다.
본 글은 IntelliJ IDEA 2023.2.4 Ultimate Edition + Gradle 기준으로 작성되었습니다.
의존성 추가
build.gradle
에 아래 의존성을 추가한다.
developmentOnly 'org.springframework.boot:spring-boot-devtools'
Run/Debug Configurations 설정 변경
상단 메뉴에서 Run
→ Edit Configurations...
로 들어간다.
Build and run
우측에 있는 Modify options
를 눌러서 드롭다운 메뉴를 연다.
Spring Boot
탭에서 On frame deactivation
→ Update classes and resources
를 선택하고 OK를 눌러서 실행 설정을 저장한다.
여기까지 설정해놨다면 프로젝트가 실행중인 상태에서 클래스나 리소스를 추가 / 삭제 / 수정하고 다른 창(웹 브라우저 등)으로 포커싱을 옮겼을 때 자동으로 프로젝트가 재실행되는 것을 볼 수 있다.
재시작하기 전에 몇 가지의 변화가 있었는지도 콘솔에 출력된다.
새로 생성하는 모든 스프링부트 프로젝트에 적용하기
매번 스프링부트 프로젝트를 생성할 때마다 동일한 설정을 하는게 귀찮을 수 있다. 이럴 땐 약간의 설정을 건드려서 새로 생성하는 모든 스프링부트 프로젝트에 적용할 수도 있다.
상단 메뉴의 File
→ New Projects Setup
→ Run Configuration Templates...
로 들어간다.
좌측 리스트를 아래로 내려서 Spring Boot
를 찾은 후 위 과정과 동일하게 Modify options
→ On frame deactivation
→ Update classes and resources
를 선택하여 실행 옵션에 추가해준다.
이 경우도 동일하게 스프링 이니셜라이저로 스프링부트 프로젝트를 생성할 때 의존성에 Spring Boot DevTools를 추가하거나, 프로젝트를 생성할 때 추가하지 않았다면 별도로 build.gradle
에 추가해줘야 정상적으로 작동한다.
'Development > etc.' 카테고리의 다른 글
[IntelliJ] Remote JVM Debug를 사용해서 서버를 원격으로 디버깅 하기 (0) | 2024.10.02 |
---|---|
[Gradle] 순수 자바/코틀린 Gradle 프로젝트를 실행 가능한 jar 파일로 빌드하기 (2) | 2023.11.28 |
[IntelliJ] 인텔리제이의 Remote host를 사용하여 서버에 접속해보자! (0) | 2023.03.09 |
[Linux] 특정 프로세스를 종료하는 쉘 스크립트 작성하기 (0) | 2023.03.02 |
[IntelliJ] 코드 에디터에 나오는 Usages, Code author 등의 힌트 위치 변경 (0) | 2022.12.01 |
댓글