[자바/JAVA] Hot Code Replace Failed 경고의 의미

Hot Code Replace Failed
Hot Code Replace Failed가 발생했다.

 

이클립스를 사용하는데 코드를 저장할 때마다 Hot Code Replace Failed가 뜬다면?

이 팝업창은 오류(error)가 아니라 일종의 경고다.

 

이 경고장은 이클립스의 내장 기능이 원활히 작동하지 못하며 발생한다. 이클립스에서는 디버그 모드로 JVM을 구동하고 런타임이 종료되지 않은 상태에서 클래스 파일이 변경되면 JVM 재시작 없이 변경된 클래스 파일을 교체하는 기능을 제공한다. 그것이 바로 Hot Code Replace 기능이다.

 

이 기능은 메서드 본문을 수정했을 때 정상적으로 replace된다. 그러나 클래스와 메서드의 선언부, 클래스 변수 혹은 인스턴스 변수, 스태틱 블록 등은 replace가 불가능하다.

때문에 이런 변경이 감지되면 Hot Code Replace Failed 경고가 발생하는 것이다.

 

이 경우에 무시하고 진행하던지(Continue), JVM을 종료하던지(Terminate), 재시작하라는(Restart) 선택권을 제시하는 셈이다. 재시작하면 프로그램은 문제 없이 작동된다.

 

이 경고 팝업은 지속적으로 나타나면 매우 성가시기 때문에 안 나오도록 할 수가 있다.

 

Window >> Preference >> Java >> Debug 에서

Show error when hot code replace fails 체크박스를 체크 해제하면 된다.

이클립스 Preference
Show error when hot code replace fails를 체크 해제한다.

반응형

댓글

Designed by JB FACTORY