【问题标题】:Provider for javax.xml.parsers.DocumentBuilderFactory cannot be found找不到 javax.xml.parsers.DocumentBuilderFactory 的提供程序
【发布时间】:2013-06-25 22:46:48
【问题描述】:

我无法解决这个问题。浏览了很多论坛。请帮忙:

org.springframework.beans.factory.BeanDefinitionStoreException: 从 ServletContext 资源解析 XML 文档时出现意外异常 [/WEB-INF/applicationContext.xml];嵌套异常是 javax.xml.parsers.FactoryConfigurationError:提供程序 找不到 javax.xml.parsers.DocumentBuilderFactory。

我已将所有 jar 文件包含在 xerces bin 中。 以下是我的 WEB-INF/lib 结构:

【问题讨论】:

标签: java xml


【解决方案1】:

当将 spring 和 jpa/hibernate 从 3 升级到 4 时,我们也遇到了这个问题。对我们来说,这是因为 hibernate-entitymanager 4.3.11 依赖于 jdom,它依赖于 xml-apis,这将与 JRE 冲突rt.jar 的 javax.xml 的东西。我们将其排除在外,以便可以正确解析我们的 spring xml 配置。 为了解决这个问题,我们可以从依赖树中排除 xml-apis。

<dependency>
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-entitymanager</artifactId>
    <exclusions>
        <exclusion>
            <groupId>xml-apis</groupId>
            <artifactId>xml-apis</artifactId>
        </exclusion>
    </exclusions>
</dependency>

【讨论】:

  • 战列巡洋舰操作
  • ?? 太棒了!
【解决方案2】:

我在使用 WebSphere Portal 8 时也遇到了这个问题。我最近使用 xalan 2.7.0 来访问和解析 XML。

<dependency>
    <groupId>xalan</groupId>
    <artifactId>xalan</artifactId>
    <version>2.7.0</version>
    <exclusions>
        <exclusion>
            <groupId>xml-apis</groupId>
            <artifactId>xml-apis</artifactId>
        </exclusion>
    </exclusions>
</dependency>

删除 xml-apis 后(就像 Leon Li 所做的那样),它工作正常。

【讨论】:

    【解决方案3】:

    我可以完全解决上述问题,方法是设置类加载器加载 xerces jar 文件的顺序(WAR->EAR->Server)。以下链接取自 Apache 的 Xerces 站点。它有助于解决 Websphere Portal/WAS 的上述问题:

    http://www.ibm.com/developerworks/websphere/library/techarticles/0310_searle/searle.html

    【讨论】:

      【解决方案4】:

      我找到了解决方案(通过浏览一些论坛):

      1. 转到您的 JRE 所在的位置。 例如,由于我使用的是Websphere Portal JRE,所以我去了这个位置:C:\Program Files\IBM5\WebSphere\AppServer\java\jre\lib

      2. 打开 jaxb.properties 文件并修改属性 javax.xml.parsers.DocumentBuilderFactory 以适应您的 xml 解析器。就我而言,它是: javax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl

      我已经被提升到下一个问题:)。我现在收到 ClassCastException。以下是日志:

      从 ServletContext 资源 [/WEB-INF/applicationContext.xml] 解析 XML 文档时出现意外异常;嵌套异常是 java.lang.ClassCastException: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl

      欢迎所有帮助。谢谢

      【讨论】:

      猜你喜欢
      • 2019-11-19
      • 2020-04-12
      • 1970-01-01
      • 1970-01-01
      • 2023-01-31
      • 2021-12-15
      • 2015-04-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多