IDE & Apps/IntelliJ Idea

IntelliJ Ultimate 14 - JRebel 적용하기

Figo Kim 2015. 10. 20. 21:06
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

지금까지 참으로 무식하게 코딩을 했다고 스스로 자부할 수 있다(ㅠㅠ)


뭐, 비교적 오랜 개발 공백으로 인해서 어쩔 수 없다고 스스로 핑계를 대 본다.


자바(Spring MVC)로 서버단을 개발하면서 가장 짜증나는 부분 중 하나는


Model객체의 Getter / Setter 를 설정하는 부분이었고, 이는 Lombok을 통해서 해결했다.


관련해서 아래의 글을 참고해주시기 바랍니다.

2015/07/08 - [Programming/Java] - Lombok plugin의 편리성



Getter/Setter보다 더 짜증나는게 있으니 그건 바로 코드 변경시마다 redeploy를 해줘야 하는점이다.


물론 기존의 JVM hot swap기능이 있긴 하지만, Method body에서의 변경사항에 대해서만 한정되는거라서,


사실상 큰 도움이 안되는 기능이다.


이러한 불편 사항을 해결해주는 플러그인이 있으니, 바로 JRebel이다. 사실 오늘 알았다. ㅠㅠ


적용 절차는 비교적 간단하다.






1. IntelliJ Plugin 검색을 통해서 JRebel Plugin을 설치한다.


2. 설치가 완료되면 JRebel activation을 수행한다.



3. Activation code를 받기위해서 공식 사이트에 등록한다.

기본적으로 14일 trial activation코드를 받을 수 있다.



기본적으로 Activation 코드를 받는 절차는 간단하므로 자세한 설명은 생략하고자 합니다.



4. Activation code를 입력하면 아래와 같이 인증이 완료되었다고 나옵니다.



5. 이후 JRebel 설정 단계로 넘어감.

View -> Tool Windows -> JRebel을 선택하면 


아래와 같이 현재 프로젝트 중 어떤 모듈에 적용할 지 물어본다.

JR글자가 있는 체크박스를 선택한다. 다른 하나는 원격 서버에 대해서 적용할 때 체크하면 된다.



만약에 아래와 같이 경고창이 뜬다면 기본적으로 생성된 rebel.xml 설정 파일에서 뭔가 문제가 있다는 것이다.

본인의 경우, output 경로가 ~/out으로 되어 있는데 jrebel은 기본적으로 target 경로를 대상으로 한다.

해당 경로를 맞춰주니 해당 경고 메세지는 사라졌다.


7. 이제 JR 아이콘을 클릭해서 구동하면 된다.

정상적으로 설정이 되면 아래와 같이 JRebel Agent 정보 및 라이센스 정보가 나온다.


그 아래에 아래와 같이 모니터링 경로 대상이 아래와 같이 표기된다.


파일 변경 후, build를 하게되면 아래와 같이 로그가 뜨게 된다.

특이한 점은 

신규로 파일을 생성했을 경우, 기존 legacy agent는 추가된 파일에 대해서 hot swap 반영을 못한다는것과,

로그에서 확인할 수 있듯이 새로운 코어로 변경하라는 안내가 같이 언급된다.


8. Legacy agent에서 JRebel agent로의 변경은 설정에서 쉽게 변경이 가능하다.

아래와 같이 JRebel > Advanced 에서 JRebel 6 Agent로 변경해야 한다.



9. 결론

편하다.

역시 편하게 살라면,

알아야 한다. ㅠㅠ


끝..


도움이 되셨다면

공감 버튼 좀 팍팍 눌러주세요..