2011-04-30 3 views
10

다음과 같은 오류가 에 표시됩니다. 프로젝트 -> 정리를 할 때마다 Maven 콘솔이 표시됩니다. 파일 만 대상 폴더에 작성됩니다. apk 파일이 작성되지 않습니다. 누구든지이 문제를 해결할 수 있도록 도와 주시겠습니까?Android Maven 빌드에서 "javax/xml/namespace/QName.class"처리 문제가 발생합니다.

감사합니다,

샘.

내 개발 환경은;

  • 이클립스 헬리오스
  • 안드로이드 SDK API 레벨 8
  • 이클립스 ADT 10.0.1
  • 메이븐 통합을위한 안드로이드 개발 툴 0.2.5

4/30/11 9시 54분 : 07 PM IST : [정보] 기존의 resourceDirectory D : \ my \ workspace \ android \ android-test-app \ src \ test \ resources를 건너 뛰십시오. 4/30/11 9:54:07 PM IST : [정보] 아니요 테스트 소스 컴파일 2011 년 4 월 30 일 9:54:07 IST : [I NFO] 테스트를 건너 뜁니다. 4/30/11 9:54:07 PM IST : [정보] D : \ my \ android-sdk-my \ android-sdk-windows/platform-tools/dx.bat [--dex, --output = D : \ my \ workspace \ android \ android-test-app \ target \ classes.dex D : \ my \ workspace \ android \ android-test-app \ target \ android-classes] 4/30/11 9 : 54:17 PM IST : [정보] 4/30/11 9:54:17 PM IST : "정보 처리 중"javax/xml/namespace/QName.class ": 4/30/11 9:54 : 17시 IST : [정보] 4/30/11 9시 54 분 17 초 IST : [정보] 잘못되거나 핵심 클래스 (자바. * 또는 javax. *)의 사용 착각 4/30/11 9 : 54 : 17 PM IST : [정보] 코어 라이브러리를 만들지 않을 때. 4/30/11 9:54:17 PM IST : [정보] 4/30/11 9:54:17 PM IST : [정보] 이것은 종종 실수로 코어 라이브러리 파일을 포함하기 때문입니다 4/30/11 9:54:17 PM IST : IDE를 사용할 때 (예 : 4/30/11 9:54:17 PM IST : [정보] Eclipse) 응용 프로그램 프로젝트의 [정보]. 의도적으로 4/30/11 9:54:17 IST : [INFO] 핵심 클래스를 정의하지 않은 것이 확실하다면 가장 가능성있는 설명이 4/30/11 9:54 : 17시 IST : [정보] 계속. 4/30/11 9:54:17 PM IST : [정보] 4/30/11 9:54:17 PM IST : [정보] 그러나 실제로 코어에 클래스를 정의하려고 할 수 있습니다. 4/30/11 9:54:17 PM IST : 가져온 것일 수도있는 [INFO] 네임 스페이스 예 : 4/30/11 9:54:17 PM IST : [INFO] 안드로이드 가상 머신 프로젝트. 이것은 대부분 4/30/11 9:54:17 PM IST : [정보] 확실하게 작동하지 않습니다. 최소한 플랫폼의 향후 버전과 앱의 호환성 : [INFO] IST : 귀하의 앱과의 호환이 가능합니다. 4/30/11 9:54:17 PM 2011 년 4 월 30 일 9시 54 분 17 초 IST : [정보] 그것은 또한 종종 의문의 여지가 있습니다. 4/30/11 9:54:17 PM IST : [정보] 4/30/11 9:54:17 PM IST : [정보] 정말로 코어 라이브러리를 빌드하려는 경우 - 4/30/11 9:54:17 PM IST : 전체 가상 컴퓨터를 만드는 과정에서 [INFO] 적합 4/30/11 9:54:17 PM IST : [INFO] 배포, 응용 프로그램 컴파일과 반대 - - then 4/30/11 9:54:17 PM IST : [정보] "--core-library"옵션을 사용하여이 오류 메시지를 표시하지 않습니다. 4/30/11 9:54:17 PM IST : [정보] 4/30/11 9:54:17 PM IST : [정보] 계속 진행하고 "--core-library"를 사용하면 사실 4/30/11 9:54:17 PM IST : [정보] 응용 프로그램을 빌드 한 다음 응용 프로그램을 미리 경고하십시오. 4/30/11 9:54:17 PM IST : [정보]는 여전히 빌드에 실패합니다. 어떤 시점에서 실행됩니다. 예를 들어, 귀하의 4/30/11 9:54:17 PM IST : [정보] 응용 프로그램이 중단 된 것을 발견 한 분노한 고객을 위해 준비된 정보 : 4/30/11 9:54:17 PM IST : [정보] 일단 그들이 자신의 운영을 업그레이 드 4/30/11 9:54:17 PM IST : [정보] 시스템을 작동합니다. 이 문제에 대해 책임이 있습니다. 4/30/11 9:54:17 PM IST : [정보] 4/30/11 9:54:17 PM IST : [정보] 에있는 코드를 합법적으로 사용하는 경우 4/30/11 오후 9시 54 분 17 초 IST : [정보] 핵심 패키지, 다음 가장 쉬운 안전한 대안은 4/30/11 9:54:17 PM IST : [정보] 코드를 다시 포장하십시오. 즉, 해당 클래스를 4/30/11 9:54:17 PM IST : [정보] 자신의 패키지 네임 스페이스로 이동하십시오. 즉, 절대 존재하지 않을 것입니다. 4/30/11 9:54:17 PM IST : [INFO] 핵심 시스템 클래스와 충돌합니다. JarJar는 도움이 될만한 도구입니다 4/30/11 9:54:17 PM IST : [정보]이 작업에 참여했습니다. 이 작업을 수행 할 수 없다는 것을 알게되면 4/30/11 9:54:17 PM IST : 귀하의 경로가 궁극적으로 표시 될 것임을 나타내는 4/30/11 9:54:17 PM IST : [INFO] 고통, 고통, 슬픔 및 애도로 이어집니다. 4/30/11 9:54:17 PM IST : [정보] 4/30/11 9:54:17 PM IST : [정보] 1 오류; aborting

+0

재미 있기 전에 다른 사람이이 문제를 게시 한 것은 웃었습니다 :) 해결책이 없지만이 버그가 http://code.google.com/p/에서 발견되었습니다. maven-android-plugin/issues/detail? id = 68 지금 1 년 동안 문제가있는 것 같고 그 스레드의 주석을 기반으로 왜 아직 해결되지 않았는지 모르겠습니다. –

+0

또 하나의 참고 사항 : 내 오류는 Google 데이터 API에 xpp3 항아리 종속성을 포함 시켰고 빌드를 위해 maven을 사용하지 않았습니다. –

+0

@jk는 종속성을 제외합니다 ... – mschonaker

답변

16

android maven 통합을 사용하는 경우 "with"범위를 Android sdk 종속성에 추가해야합니다.

<dependency>   
<groupId>com.google.android</groupId>   
<artifactId>android</artifactId>   
<version>2.3.3</version>   
<scope>provided</scope>   
</dependency> 
14

exclude-tag를 사용하여 암시 적 종속성을 제외 할 수 있습니다. QName은 예를 들어 xpp3 패키지.

<dependency> 
    <groupId>com.google.api.client</groupId> 
    <artifactId>google-api-client-googleapis</artifactId> 
    <version>1.4.1-beta</version> 
    <exclusions> 
    <exclusion> 
     <groupId>commons-logging</groupId> 
     <artifactId>commons-logging</artifactId> 
    </exclusion> 
    <exclusion> 
     <groupId>xpp3</groupId> 
     <artifactId>xpp3</artifactId> 
    </exclusion> 
</exclusions> 
</dependency> 

을 충돌하는 클래스 파일이 어디에서 왔는지에 대한 실행 찾을 필요가있는 경우 : 내 치어에 다음 제외를 추가하여이 문제를 해결 (즉, 이미 구글-API-클라이언트 googleapis을하는 종속성을 포함) 예 :

for x in `find ~/.m2/repository/ -name \*.jar`; do jar tf $x|grep QName.class && echo "Found in: $x"; done` 
관련 문제