2010-07-14 8 views
1

현재 버전 4.6.1 (Windows Vista + Eclipse)을 사용하여 단위 테스트 프로젝트를 작성하고 있습니다.NoClassDefFoundError 라이브러리 프로젝트 가져 오기

  • A. 단위 테스트 응용 프로그램 (유형 : CLDC 응용 프로그램)
  • B. 응용 프로그램을 테스트 할 (유형 : CLDC 응용 프로그램)
  • C. 라이브러리 프로젝트 (유형 내 프로젝트는 3 부분으로 나누어 져 있습니다 : 라이브러리, 가져온 .jar 파일이 없습니다.)

A 프로젝트는 B에있는 코드를 참조해야합니다 (물론 C 에서조차도). 프로젝트 B (C 참조)에 문제없이 실행할 수 있다고 지정하고 싶습니다. 내가 프로젝트 A를 실행하려고하면 내 문제는 시작

나는 다음과 같은 작업을 수행

: 라이브러리에 B를 CLDC 응용 프로그램에서 B 프로젝트 유형을 변경

을 A는 프로젝트 B 세트를 참조하는 프로젝트 C를 참조 모든 프로젝트가 "Active for Blackberry"로 표시됩니다. 기본적으로 A는 두 개의 다른 프로젝트를 두 개의 중첩 라이브러리로 간주합니다. 코드는 성공적으로 내장되어 있지만, 문제는 C 라이브러리의 클래스가 실행하는 동안 B에 의해 호출 될 때, 다음과 같은 예외가 발생한다는 것입니다 :

NoClassDefFoundError를

상세 메세지를

도움이 될 것입니다.

많은 감사

답변

3

가지지 않는 NoClassDefFoundError는 A cannot find C at runtime을 의미한다. 일반적인 원인은 C가 대상 장치 (시뮬레이터 또는 실제 장치)에 배치되지 못했기 때문입니다.

해결 방법 1 :에서 프로젝트 A에 대한

프로젝트 -> 속성 -> C (라이브러리 프로젝트를) 확인은 '프로젝트'와 '주문과 수출에 체크 해당 체크 박스 아래에 나열됩니다 자바 빌드 경로 ' 탭. 이렇게하면 빌드 및 배포 프로세스 중에 라이브러리를 내보낼 수 있습니다.

해결 방법 2 : 프로젝트 A의

가 기호 링크를 추가 라이브러리 C 소스 (오른쪽 경로 -> 링크 소스 빌드> 프로젝트 - 클릭). 이렇게하면 프로젝트 A가 빌드 될 때 라이브러리의 소스 코드가 포함됩니다.

관련 문제