java - Android Studio DatatypeFactoryImpl 未找到

标签 java android xml xerces

我尝试使用 android studio 生成 XML 文件,但收到此错误:

 Caused by: javax.xml.datatype.DatatypeConfigurationException: Provider org.apache.xerces.jaxp.datatype.DatatypeFactoryImpl not found.

问题来自“JAXBContext”行。 我有一个函数可以生成 XML 文件,其代码是

        try {

        File file = new File("D:\\Github\\Comedu\\file.xml");
        JAXBContext jaxbContext = JAXBContext.newInstance(Resultat.class);
        Marshaller jaxbMarshaller = jaxbContext.createMarshaller();

        // output pretty printed
        jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);

        jaxbMarshaller.marshal(this, file);
        jaxbMarshaller.marshal(this, System.out);

    } catch (JAXBException e) {
        e.printStackTrace();
    }

在 android studio 上,我将 xerces 包添加到我的构建路径中,所以我不知道如何解决这个问题。

最佳答案

如果你是一名Android开发者,正如文档所说注意,你必须提供自己的实现(例如Xerces); Android 未附带默认实现。 https://developer.android.com/reference/javax/xml/datatype/DatatypeFactory.html#newInstance%28%29

因此,尝试添加依赖项xercesImpl

Maven:

<!-- https://mvnrepository.com/artifact/xerces/xercesImpl -->
<dependency>
    <groupId>xerces</groupId>
    <artifactId>xercesImpl</artifactId>
    <version>2.12.0</version>
</dependency>

Gradle :

// https://mvnrepository.com/artifact/xerces/xercesImpl
compile group: 'xerces', name: 'xercesImpl', version: '2.12.0'

关于java - Android Studio DatatypeFactoryImpl 未找到,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51348471/

相关文章:

android - 如何使用android通过id从数据库检索数据

java - startForeground 的错误通知(Call Recorder API 29)

java - 如何从 Android 将参数发布到 Web 服务?

java - PDFBox设置A5页面大小

java - 安卓工作室错误 : app:mergeDebugResources

java - 我可以在一台服务器上拥有多个 Java 应用程序服务器吗?

android - 使用不同于 Application.mk 中定义的 STL 编译 android-ndk 模块

xml - 在 Perl 中将类似 XML 的格式转换为 CSV

php - Javascript 和 PHP5 中的换行符

java - org.springframework.messaging.MessageHandlingException : Missing header 'kafka_receivedMessageKey' for method parameter type [class java. lang.Integer]