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 모듈 의존성을 추가해주면 핫스왑 기능을 사용할 수 있게 됩니다.
-끝-
'개발&컴퓨터 > JAVA & SPRING' 카테고리의 다른 글
String, StringBuffer, StringBuilder 차이점과 장단점 (4) | 2016.03.03 |
---|---|
JDBC 드라이버 매니져(Driver Manager)란? (0) | 2015.08.07 |
JAVA 한글 포함 여부 확인하기 (0) | 2015.06.20 |
CORS 크로스 도메인 이슈 (No 'Access-Control-Allow-Origin' header is present on the requested resource) (22) | 2015.05.11 |
[JAVA] 숫자 또는 영문만 받기 (특수 문자 및 한글 입력 제한하기) (3) | 2015.01.28 |