【问题标题】:Java xerces DocumentBuilderFactoryimpl not found - What to do?找不到 Java xerces DocumentBuilderFactoryimpl - 怎么办?
【发布时间】:2010-01-14 08:06:22
【问题描述】:

我收到这条消息:

javax.xml.parsers.FactoryConfigurationError: 提供者 org.apache.xerces.jaxp.DocumentBuilderFactoryImp

但我似乎无法解决问题。我用谷歌搜索了,但找不到任何好的解决方案。

有人知道可能出了什么问题吗? 也许如何解决它:)

【问题讨论】:

    标签: java jboss xerces


    【解决方案1】:

    org.apache.xerces 来自Apache Xerces 包,您的应用程序中的某些内容依赖于它。尝试下载它(最新版本是 2.9.0)并将其添加到应用程序的类路径中。

    【讨论】:

      【解决方案2】:

      DocumentBuilderFactory 有一个用于查找实际解析器实现的多步骤过程,如链接的 JavaDoc 中所述。您的错误消息几乎肯定来自那里。

      我怀疑您的 JBoss 启动脚本错误地设置了 javax.xml.parsers.DocumentBuilderFactory 系统属性(我以前见过这种情况,用于避免已发布库中的错误)。我将从 grepping 该属性的 JBoss 配置目录开始,然后显式设置 jaxp.debug 属性(也在链接中描述)。假设您的启动脚本确实明确设置了该属性,请找出是谁进行了该更改,并询问他/她是否可以删除它(或者如果不能删除,则为您提供正确的 JAR)。

      【讨论】:

        【解决方案3】:

        当您标记您的问题 JBoss 时,我假设您的代码正在 JBoss 容器中运行。

        JBoss 可能已经加载了一个 Xerces 版本供自己使用,而您正尝试在代码中加载不同的版本(显式或通过某些依赖项),并且您的版本配置与当前版本不兼容已经加载了。

        JIRA Ticket on JBoss.org 建议删除 jasperserver/WEB-INF/lib 文件夹中的 xercesimpl.jar 以允许使用您的版本。

        【讨论】:

        • 感谢您的评论。我在 JBoss 容器中运行代码。我还必须补充一点,我对 JBoss 还是很陌生。我在我的 JBoss 文件夹中找不到文件夹“jasperserver/WEB-INF/lib”,但它可以在 jboss/lib/endorsed 中找到文件“xercesimpl.jar”。您认为删除该文件有什么好处吗?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-02-05
        • 1970-01-01
        • 1970-01-01
        • 2019-04-17
        • 1970-01-01
        • 1970-01-01
        • 2012-07-31
        相关资源
        最近更新 更多