본문 바로가기

Development Note/JAVA

[안드로이드] ClassNotFoundException 발생시 해결방법

 안드로이드 개발은 보통 이클립스나 이클립스의 리팩키지 버전인 ADT(Android Developer Tools)로 진행하게 됩니다. 이클립스나 ADT에서 안드로이드 프로젝트의 작업을 진행하다가 다음의 메시지와 함께 오류가 발생하는 경우가 있습니다.


 java.lang.ClassNotFoundException:클래스이름


해석하자면 클래스를 찾을 수 없는 경우에 발생하는 예외입니다. 그런데 해당 클래스가 버젓이 패키지 안에 존재하고 컴파일도 문제없이 이루어졌는데 이런 오류가 난다면 왜일까요? 대부분의 경우 다음 두 가지 방법 중의 하나로 해결할 수 있습니다.


첫번째 방법: 이클립스 메뉴의 [Project > Clean > 해당 프로젝트 체크 > OK]




두 번째 방법: [프로젝트에서 마우스 오른쪽 클릭 > Properties > Java Build Path > Order and Export > 모든 라이브러리 체크 > OK]


 첫 번째 방법으로 해결된 경우, 컴파일 과정에서 문제가 발생한 경우입니다. 그밖에도 프로젝트를 문제없이 작업하다가 갑자기 자잘한 오류가 발생하는 경우에는 대부분 Clean을 수행하면 해결됩니다.

 두 번째 방법으로 해결된 경우, Build Path가 몇몇이 빠진 상태로 컴파일된 경우입니다. 역시 컴파일은 문제없이 이루어지지만 실행하려면 해당 클래스를 참조할 수 없어서 오류가 발생하곤 합니다.

 문제가 해결되셨기를 바랍니다.