이글에 앞서 eclipse에 내장되어 있는 tomcat을 eclipse tomcat plugin 을 통해 빠르게 구동하는 법을 알고 싶으시면 아래를 먼저 참고하세요.
====================시작============================
Eclipse에서 server side 개발하다보면 변경될 때 마다 tomcat이 재구동(reloadable)되어 짜증나는 경험해봤을 겁니다. (컴퓨터가 빠르면 안 그럴 수도…ㅋㅋ) 이 부분을 막기 위해 단순하게는 Tomcat의 설정을 다음과 같이 바꿔봤을 겁니다.
또는
물론 좋은 방법입니다. 서버 사이드에서 수정하면 method안에 내용들은 자동으로 반영해주죠. 하지만 새로운 class나 method가 추가/삭제 되거나 xml 수정반영 등은 한계입니다. 이정도 하고 글을 접는다면 애초에 안썼겠죠. 그래서 이번엔 Hot Swap 이라 불리는 기능을 적용해 위의 한계의 범위를 좀더 넓혀보겠습니다. (class, method 추가/삭제는 바로 적용되더군요! 아쉽지만 몇몇 어노테이션은...ㅠㅠ 점차 지원하겠죠? )
Hot Swap 을 지원해주는 Plugin, Program 들이 많이 있습니다. 가장 유명한 JRebel 이라는 게 존재하지만 상업적 이용시 유료 라이센스입니다. 회사다니면 유료 라이선스 쓰기가 쉽지 않으니 패스!
지금부터는 Dynamic Code Evolution VM (DCEVM) 을 적용하겠습니다. 적용전에! DCEVM은 java 버전에 엄청 한정적입니다. Java7, 8 에만 적용되며……(눙물..ㅠㅠ) 그래도 우리는 개발시 다른 버전 쓰시고 Tomcat으로 띄울 때(Runtime)만 DCEVM가 지원하는 버전으로 jre를 붙여주시면 됩니다.!
2. 다운 받은 파일을 실행합니다. 실행방법은 더블클릭 또는 (더블클릭으로 실행이 안되면) cmd 창에서 java –jar installer{name}.jar
그림과 같이 화면이 뜨면 버전에 맞는 java를 선택해 install DCEVM as altjvm을 클릭
설치가 되면 Yes로 나타납니다.
다운받은 HotswapAgent-0.2.zip 파일을 영구적으로 저장할 수 있는 곳(?)에 놓습니다.
4. 다시 이클립스로 돌아와서! Tomcat launch configuration 창에서 아래와 같이 tomcat 구동 시에 파라미터 세팅
-XXaltjvm=dcevm -javaagent:PATH_TO_AGENT\hotswap-agent.jar
(뒤에 =autoHotswap=true를 쓰면 에러 로그가 엄청 쌓인당!!?!)
또는 Sysdeo tomcat Launcher Plugin 을 쓰시는 분은 [Window]-[Preference]메뉴에서 세팅
5. 실행 시에는 반드시 버전 맞춰준 java로 톰캣이 실행되게 해야 합니다. 이제 실행만 하시면 됩니다! 꺄~
제 말이 어렵다면!! 탁구치는 개발자님에게 가보세요! 감사합니다^^
http://lng1982.tistory.com/216