본문 바로가기

개발&컴퓨터/JAVA & SPRING

[Intellij] ‘Hot swap classes and update trigger file if failed‘ not available on Update action - 오류 해결 방법

반응형

Intellij로 Java 개발 시(with 스프링 부트), 유용한 기능 중의 하나가 Hot swap이지요.

예전에는 JRebel이라는 유료 플러그인을 구입해서 썼었는데.. Hot swap도 나름 무료로 유용하게 이용 가능합니다.

 

로컬에서 서버를 띄워서 작업 할 때 유용한데..

Java처럼 소스 코드를 한 번 빌드한 결과물을 서버에 올려야 되기 때문에 소스를 수정해도 바로 그 변경 사항이 바로 반영되지 않지요.. 다시 서버를 새로 띄워야 변경사항이 반영됩니다.

 

그런데 Hotswap 기능을 사용하면 매번 수정 후, 그 수정 결과를 보기 위해 서버를 재시작하는 그런 번거로운 절차를 하지 않아도 됩니다. (java, 프론트 쪽 코드 수정은 바로 반양되도 config 설정 값 같은 경우에는 hotswap을 해도 소용없고, 이러한 경우는 서버를 재시작해주어야 합니다. 다만 이런 설정 값 변경은 개발 과정에 많지 않고.. java쪽 수정만 바로 반영되어도 매우 좋지요... 개발 및 테스트 시간을 획기적으로 단축시켜 주니까요..)

 

그래서 preference쪽에서 설정해주고, 사용하려는 서버의 설정(configuration)에도 아래처럼 런타입 도중에 바로 변경 사항이 반영되도록 hot swap 기능을 설정(On 'Update' action, On frame deactivation) 해 주었는데..

 

 

 

Warning: ‘Hot swap classes and update trigger file if failed‘ not available on Update action

 

이런 메시지가 표시되는 경우가 있습니다.

On 'Update' 액션이 발생해야 되는 시점에.. Hot swap 기능을 사용할 수 없다고 합니다. 

 

해결방법

은 특별히 어렵지 않습니다.

프로젝트의 pom.xml 파일을 열어서 아래 코드 추가해주시면 됩니다.

 

 

 

spring-boot-devtools 는 스프링부트 기반에서 개발 시, 개발의 편의와 효율성을 위해 제공되는 모듈로 hot swap은 spring-boot-devtools에서 제공하고 있습니다.

 

그렇기 때문에 프로젝트 pom.xml 파일에 spring-boot-devtools 모듈 의존성을 추가해주면 핫스왑 기능을 사용할 수 있게 됩니다.

 

-끝-

반응형