개발 관련/ECLIPSE

이클립스 Hotswap 설정 -DCEVM (Dynamic Code Evolution VM)

riberio 2018. 7. 12. 18:25

1. https://github.com/dcevm/dcevm/releases 에 들어가서 자신의 버전의 맞는 DCEVM을 다운.


2. 다운 받은 파일을 실행. 실행방법은 cmd(관리자 권한으로 실행) 창에서 java -jar {버전에 맞는 파일명}.jar


3. 버전에 맞는 java를 선택해 install DCEVM as altjvm을 클릭. 설치가 되면 Yes로 표시.


4. https://github.com/HotswapProjects/HotswapAgent/releases 에 들어가서  HotswpAgent를 다운.


5. HotswpAgent 라이브러리 적당한 곳에 위치 > 이클립스 Tomcat launch configuration "-XXaltjvm=dcevm -javaagent:D:\SETUP\DCEVM\hotswap-agent-1.3.0.jar"  파라미터 세팅


6. 이클립스 해당 프로젝트 서버 더블클릭 > Overview 탭 > Publishing 항목 > Automatically publish when resources change 라디오 버튼 클릭 (디폴트 옵션으로 체크되어 있음)


7. 이클립스 해당 프로젝트 서버 더블클릭 > Moudules 탭 > Edit > Auto reloading enabled 체크 박스 해제


8. Tomcat을 Debug 모드로 띄우면 다음과 같은 로그가 찍힘.

HOTSWAP AGENT: 18:21:09.065 INFO (org.hotswap.agent.HotswapAgent) - Loading Hotswap agent {1.3.0} - unlimited runtime class redefinition.

HOTSWAP AGENT: 18:21:09.461 INFO (org.hotswap.agent.config.PluginRegistry) - Discovered plugins: [Hotswapper, JdkPlugin, AnonymousClassPatch, ClassInitPlugin, WatchResources, Hibernate, Hibernate3JPA, Hibernate3, Spring, Jersey1, Jersey2, Jetty, Tomcat, ZK, Logback, Log4j2, MyFaces, Mojarra, Omnifaces, Seam, ELResolver, WildFlyELResolver, OsgiEquinox, Owb, Proxy, WebObjects, Weld, JBossModules, ResteasyRegistry, Deltaspike, GlassFish, Vaadin]