12/15/2016

FreeMind 1.0.1 실행 실패(Launch Failed by Java Nonexistence Exception)

FreeMind 1.0.1 을 설치한 후 실행했을 때 아래 화면과 같이 자바 런타임(nonexistent Java Runtime Environment)이 없어서 실패하는 경험을 했다.
여러모로 찾아보니 FreeMind가 사용하는 Launch4J의 오류로 인해 여러 버전의 JRE가 설치된 경우, 특히 최신 JRE 101이 설치된 경우 설치된 JRE를 제대로 연결하지 못해 오류가 발생하는 것으로 확인되었다(관련 링크).

설치된 JRE는 다음과 같이 레지스트리 편집기(regedit)에서 확인할 수 있다.

  • 위치: HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Runtime Environment


나의 경우에는 1.8.0_101과 1.8.0_60이 설치되어 있다. 이 경우 현재 버전은 1.8.0_101이지만, FreeMind는 1.8.0_60을 최신 버전으로 인식하려고 한다. 원인은 간단히 말해 문자기준 정렬 순서 상 101이 60보다 앞서기 때문이다. 따라서 가장 간편한 조치는 1.8.0_60을 레지스트리에서 삭제하는 것이다(이런 경우 JRE 백업에 문제가 될 수 있지만, 무시하자-_-).

이렇게 삭제 하면 FreeMind가 잘 실행됨을 확인할 수 있다. 참고로 Launch4J의 이 오류는 수정되었다고 한다(관련 링크). FreeMind에서만 수정하면 될 것 같은데, 아직까진(2016-12-15) 수정되지 않았다.