【发布时间】:2010-01-14 08:06:22
【问题描述】:
我收到这条消息:
javax.xml.parsers.FactoryConfigurationError: 提供者 org.apache.xerces.jaxp.DocumentBuilderFactoryImp
但我似乎无法解决问题。我用谷歌搜索了,但找不到任何好的解决方案。
有人知道可能出了什么问题吗? 也许如何解决它:)
【问题讨论】:
我收到这条消息:
javax.xml.parsers.FactoryConfigurationError: 提供者 org.apache.xerces.jaxp.DocumentBuilderFactoryImp
但我似乎无法解决问题。我用谷歌搜索了,但找不到任何好的解决方案。
有人知道可能出了什么问题吗? 也许如何解决它:)
【问题讨论】:
org.apache.xerces 来自Apache Xerces 包,您的应用程序中的某些内容依赖于它。尝试下载它(最新版本是 2.9.0)并将其添加到应用程序的类路径中。
【讨论】:
DocumentBuilderFactory 有一个用于查找实际解析器实现的多步骤过程,如链接的 JavaDoc 中所述。您的错误消息几乎肯定来自那里。
我怀疑您的 JBoss 启动脚本错误地设置了 javax.xml.parsers.DocumentBuilderFactory 系统属性(我以前见过这种情况,用于避免已发布库中的错误)。我将从 grepping 该属性的 JBoss 配置目录开始,然后显式设置 jaxp.debug 属性(也在链接中描述)。假设您的启动脚本确实明确设置了该属性,请找出是谁进行了该更改,并询问他/她是否可以删除它(或者如果不能删除,则为您提供正确的 JAR)。
【讨论】:
当您标记您的问题 JBoss 时,我假设您的代码正在 JBoss 容器中运行。
JBoss 可能已经加载了一个 Xerces 版本供自己使用,而您正尝试在代码中加载不同的版本(显式或通过某些依赖项),并且您的版本配置与当前版本不兼容已经加载了。
JIRA Ticket on JBoss.org 建议删除 jasperserver/WEB-INF/lib 文件夹中的 xercesimpl.jar 以允许使用您的版本。
【讨论】: