Android:错误包括/重新包装引用javax核心类的依赖项

tho*_*aux 14 java android jarjar maven simple-framework

我正在使用Maven作为构建工具开发Android应用程序.我设法正确设置了evertyhing(maven依赖项被导出到apk等),但是我还有一个问题让我发疯.

我想在我的POM文件中包含对simpleframework的xml解析器的依赖,如下所示:

<dependency>
    <groupId>org.simpleframework</groupId> 
    <artifactId>simple-xml</artifactId>
    <version>2.5.3</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

当我mvn install在项目上发布时,我收到以下错误(截断):

trouble processing "javax/xml/namespace/NameSpaceContext.class" ...
Run Code Online (Sandbox Code Playgroud)

我知道引用这些javax类的简单xml解析器的错误结果,但我还没有找到解决方案(设置--core-library标志是没用的).

我目前正试图用maven-jarjar-pluging重新打包依赖,但这似乎也不起作用.

任何人都可以帮我解决这个问题吗?很多,非常感谢提前!

小智 28

像这样定义你的simple-xml依赖:

<dependency>
    <groupId>org.simpleframework</groupId>
    <artifactId>simple-xml</artifactId>
    <version>2.6.1</version>
    <exclusions>
        <!-- StAX is not available on Android -->
        <exclusion>
            <artifactId>stax</artifactId>
            <groupId>stax</groupId>
        </exclusion>
        <exclusion>
            <artifactId>stax-api</artifactId>
            <groupId>stax</groupId>
        </exclusion>
        <!-- Provided by Android -->
        <exclusion>
            <artifactId>xpp3</artifactId>
            <groupId>xpp3</groupId>
        </exclusion>
    </exclusions>
</dependency>
Run Code Online (Sandbox Code Playgroud)