이클립스에서 작업을 하다가 Close Project 해놨던 프로젝트를 Open Project 하였는데 이런 경고창이 보여서 당황했습니다... 무서워!!
Restart
로 재시작 하였더니 경고가 사라졌습니다.
그래도 뭔지 몰라서 무서우니 정리해두려합니다.
제 경우에는 해당 프로젝트가 실행중일때 강제종료를 해버려서 발생한 알림과 경고였습니다!
구글링을 해 본 결과 이클립스에서 코드를 저장할 때도 이 오류가 뜬다고 합니다.
이 팝업창은 오류(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
체크박스를 체크 해제하면 Hot Code Replace Failed 경고메세지가 보여지지 않습니다!