首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在com.google.android中包含xpp3时,Eclipse Maven构建失败

在com.google.android中包含xpp3时,Eclipse Maven构建失败
EN

Stack Overflow用户
提问于 2012-04-04 05:46:25
回答 2查看 1K关注 0票数 0

我正在尝试用maven构建一个android项目,但maven不喜欢Qname类:

代码语言:javascript
复制
[INFO] /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java [-Xms256m, -Xmx512m, -jar, /Users/bry_m/code/android-sdk-macosx/platform-tools/lib/dx.jar, --dex, --output=/Users/bry_m/code/eclipse_workspace_2mar2012/maven.1331582410730/trunk/target/classes.dex, /Users/bry_m/code/eclipse_workspace_2mar2012/xpp3/xpp3/1.1.4c/xpp3-1.1.4c.jar, /Users/bry_m/code/eclipse_workspace_2mar2012/org/springframework/android/spring-android-rest-template/1.0.0.M2/spring-android-rest-template-1.0.0.M2.jar, /Users/bry_m/code/eclipse_workspace_2mar2012/org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar, /Users/bry_m/code/eclipse_workspace_2mar2012/org/apache/httpcomponents/httpclient/4.0.1/httpclient-4.0.1.jar, /Users/bry_m/code/eclipse_workspace_2mar2012/org/codehaus/jackson/jackson-mapper-asl/1.6.4/jackson-mapper-asl-1.6.4.jar, /Users/bry_m/code/eclipse_workspace_2mar2012/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar, /Users/bry_m/code/eclipse_workspace_2mar2012/xerces/xmlParserAPIs/2.6.2/xmlParserAPIs-2.6.2.jar, /Users/bry_m/code/eclipse_workspace_2mar2012/org/json/json/20080701/json-20080701.jar, /Users/bry_m/code/eclipse_workspace_2mar2012/com/google/android/android/2.3.1/android-2.3.1.jar, /Users/bry_m/code/eclipse_workspace_2mar2012/commons-codec/commons-codec/1.3/commons-codec-1.3.jar, /Users/bry_m/code/eclipse_workspace_2mar2012/org/codehaus/jackson/jackson-jaxrs/1.6.4/jackson-jaxrs-1.6.4.jar, /Users/bry_m/code/eclipse_workspace_2mar2012/maven.1331582410730/trunk/target/classes, /Users/bry_m/code/eclipse_workspace_2mar2012/org/khronos/opengl-api/gl1.1-android-2.1_r1/opengl-api-gl1.1-android-2.1_r1.jar, /Users/bry_m/code/eclipse_workspace_2mar2012/org/codehaus/jackson/jackson-core-asl/1.6.4/jackson-core-asl-1.6.4.jar, /Users/bry_m/code/eclipse_workspace_2mar2012/org/twitter4j/twitter4j-core/2.2.6-SNAPSHOT/twitter4j-core-2.2.6-SNAPSHOT.jar, /Users/bry_m/code/eclipse_workspace_2mar2012/cocos2d_android/cocos2d_android/1.0.0-SNAPSHOT/cocos2d_android-1.0.0-SNAPSHOT.apklib, /Users/bry_m/code/eclipse_workspace_2mar2012/com/codeslap/android-facebook/1.5/android-facebook-1.5.jar]
[INFO] 
[INFO] trouble processing "javax/xml/namespace/QName.class":
[INFO] 
[INFO] Ill-advised or mistaken usage of a core class (java.* or javax.*)
[INFO] when not building a core library.

这个问题是在我引入一个单独的apklib文件时才开始出现的:

代码语言:javascript
复制
    <dependency>
        <groupId>cocos2d_android</groupId>
        <artifactId>cocos2d_android</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <type>apklib</type>
    </dependency>

QName类似乎只出现在xpp3 jarfile的my dependency中,据我所知,它只出现在这个依赖项中:

代码语言:javascript
复制
<dependency>
    <groupId>com.google.android</groupId>
    <artifactId>android</artifactId>
    <version>${android-version}</version>
</dependency>

我尝试使用exclusion标记来让Maven更好地使用它,但是xmlpullparser类在我的项目代码中使用,所以当我排除它时,我得到一个class not found错误。

为了完整起见,下面是我的完整依赖列表:

代码语言:javascript
复制
<dependencies>
    <dependency>
        <groupId>com.google.android</groupId>
        <artifactId>android</artifactId>
        <version>${android-version}</version>
    </dependency>
    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-jaxrs</artifactId>
        <version>${jacksonVersion}</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.android</groupId>
        <artifactId>spring-android-rest-template</artifactId>
        <version>${spring-android-version}</version>
    </dependency>
     <dependency>
        <groupId>com.codeslap</groupId>
        <artifactId>android-facebook</artifactId>
        <version>1.5</version>
    </dependency>
    <dependency>
        <groupId>cocos2d_android</groupId>
        <artifactId>cocos2d_android</artifactId>
        <version>1.0.0-SNAPSHOT</version>
        <type>apklib</type>
    </dependency>
    <dependency>
     <groupId>org.twitter4j</groupId>
     <artifactId>twitter4j-core</artifactId>
     <version>[2.2,)</version>
    </dependency>
</dependencies>

我已经看到了其他关于这个问题的讨论,但显然我没有在这里使用这些-有人能解释为什么Maven抱怨这个类,它只是主要google android apis的一部分吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-04 19:30:33

如果您引用com.google.android:android作为依赖项,不要忘记设置提供的作用域-否则插件将尝试将其打包到生成的apk中

票数 1
EN

Stack Overflow用户

发布于 2012-04-04 19:25:26

不能构建导入使用java.*或javax.*包的JAR文件的Android应用程序。cocos2d_android依赖项包含此类的副本,或者包含包含此类副本的可传递依赖项。您可能需要使用Maven dependency exclusion排除javax.xml.namespace.QName类。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10001891

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档