공부 중 파견갔던 프로젝트에서 알게된 jRebel을 Free Trial 버전으로 사용중이었는데 오늘 라이센스 만료라고 사용할 수 없게되었다.
무료로 사용할 수 있는 기간이 14일이었다니...
서치해서 jRebel 관련 파일을 삭제하고 다시 Free Trial로 14일 동안 사용하거나 Spring loaded, DCEVM와 같이 대체할 수 있는 것을 찾았지만 IntelliJ에서 톰캣 Update 기능으로 핫스왑 하는 방법도 알게되어 적용한다.
[IntelliJ] Spring hot swap(부트 X)
- Edit Configurations -> 톰캣 설정
- Deployment 탭에서 Artifact -> war exploded(war로 하면 안됨)
- Server 탭에서 "On 'Update' action", "On frame deactivation" 둘 다 셀렉트 박스에서 Update classes and resources 선택
- File -> Settings -> Debugger -> Transport의 라디오 버튼 중 Shared Memory 선택
- debug 모드로 서버 구동
- 톰캣 구동 후 뜨는 Services에서 좌측 아래 "Update tomcat 9.0.62 application"(Ctrl + F10) 클릭 후 "Update classes and resources" 라디오 버튼 선택
[추가]
1. File -> Setting -> Compiler -> Build project automatically 체크
2. 클래스 추가는 적용이 안됨. 따라서 위 3번의 "On 'Update' action"에서는 Redeploy 선택