2012-05-19 4 views
2

런타임 중에 라이브러리를 사용하려고 할 때 다음 오류가 발생합니다 : java.lang.NoClassDefFoundError : com.google.api.client.extensions .android2.AndroidHttp 나는이 라이브러리를 프로젝트에 추가했다. 이것은 Maven 의존성의 첫 번째 항아리이다 (나는 100 % Maven에 익숙하지 않다.).클래스가 명확하게있을 때 java.lang.NoClassDefFoundError가 발생합니다

또한, Ant는 libs 폴더에서 jar 파일을 찾고 있지만 Maven은 자체 폴더를 사용하고 있으며 다른 프로젝트에서는 잘 작동합니다. 그래서 내가 잃어버린 .. 모든 단서 /이 문제를 해결하는 방법에 대한 도움을 많이 주시면 감사하겠습니다!

enter image description here

+0

m2e-android를 사용하고 계십니까? –

+0

예 m2e eclipse 플러그인을 사용하고 있습니다. – Crocodile

답변

2

Maven DependenciesJava Build Path - Order and Export에 틱으로써 NoClassDefFoundError를 해결해야합니다.

당신이 첨부 한 스크린 샷에 따르면, Eclipse에서 Android 프로젝트를 설정 (또는 가져 오기)하는 방법을 Google에서 dev 안내서에 제안하지만 Maven을 사용하여 Jar 종속성을 관리하는 것처럼 보입니다.권장하지 않습니다. 순수한 Google 표준 방식 (r17 이후 libs/폴더)을 사용하거나 Dependency Management를 위해 Android 프로젝트를 완전히 mavenize해야합니다.

3

enter image description here

enter image description here

는 제대로 항아리를 추가하지 않은 것 같다. 또한 6 단계를 빠뜨린 것 같습니다.

이 jar를 Android 프로젝트에 포함 시키려면 Eclipse 환경에서 다음 단계를 수행하십시오.

  1. 프로젝트 패널에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하십시오.
  2. "속성"옵션을 선택하십시오.
  3. 속성 창에서 "Java 빌드 경로"를 클릭하십시오.
  4. 해당 창의 오른쪽에서 "라이브러리"탭을 선택하십시오.
  5. "외부 JAR 추가"버튼을 클릭하고 이전에 저장 한 곳에이 라이브러리를 추가하십시오.
  6. "주문 및 내보내기"탭을 클릭하고 "JarName.jar"을 선택하십시오.
  7. "확인"을 클릭하십시오.
0

라이브러리를 내보낼 수없는 것으로 보입니다.

<classpathentry exported="true" kind="lib" path="google-http-client-android2-1.8.3-beta.jar"/> 

exported="false" 경우, exported="true"로 변경 : 프로젝트 폴더에서

.classpath 파일을 두 번 확인이 줄을 엽니 다.

0

프로젝트 폴더 아래에 libs이라는 새 폴더를 만들고이 라이브러리를 해당 폴더에 추가하십시오.

내가 kSOAP 라이브러리와 같은 문제가 된이 내 문제를 해결 ...

편집

난 그냥 당신이 이미 해당 폴더를 보았다. 라이브러리 추가 ...

관련 문제