java - Android:包含/重新打包引用 javax 核心类的依赖项时出错

标签 java android maven simple-framework jarjar

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

我想包含对 simpleframework's xml parser 的依赖在我的 POM 文件中定义如下:

<dependency>
    <groupId>org.simpleframework</groupId> 
    <artifactId>simple-xml</artifactId>
    <version>2.5.3</version>
</dependency>

当我在项目上执行 mvn install 时,出现以下错误(已截断):

trouble processing "javax/xml/namespace/NameSpaceContext.class" ...

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

我目前正在尝试使用 maven-jarjar-pluging 重新打包依赖项,但这似乎也不起作用。

谁能帮我解决这个问题?非常非常感谢!

最佳答案

像这样定义你的 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>

关于java - Android:包含/重新打包引用 javax 核心类的依赖项时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5964668/

相关文章:

java - 如何在 Java 中使用 Mockito 验证字符串内容

java - 无法访问类 com.apple.eawt.Application(在模块 java.desktop 中),因为模块 java.desktop 不会将 com.apple.eawt 导出到未命名模块

java - 将输入转换为多个整数/变量

android - 一个ScrollView不能添加多个 View 吗?

java - 在 Maven 子项目中需要相同依赖项的不同版本

javascript - 广播问答 Activity

java - "debuggable false"足以阻止调试我的应用程序吗?

android - Gradle不使用最新版本的支持库吗?

maven - 如何在 maven 版本 :update-properties without needing to specify it in pom. xml 文件的 -DrulesUri 参数中提供我的 "rules.xml"文件?

java - Spring Boot 的 JHipster WAR Artifact 重命名为 JAR 无法运行