7

我在我们的一台实时服务器上不断收到以下异常(运行相同代码的其他服务器似乎没问题):

java.lang.RuntimeException: XPathFactory#newInstance() failed to create an XPathFactory for the default object model: http://java.sun.com/jaxp/xpath/domwith the XPathFactoryConfigurationException: javax.xml.xpath.XPathFactoryConfigurationException: No XPathFctory implementation found for the object model: http://java.sun.com/jaxp/xpath/dom
 at javax.xml.xpath.XPathFactory.newInstance(XPathFactory.java:67)

我很确定类路径中有 Xalan 和 Saxon jar(使用 IBM Java 1.5)。

你有什么想法还有什么可能是错的吗?

编辑:

那是导致问题的代码:

            XPathFactory factory = XPathFactory.newInstance();

它运行在一个大致基于 catalina 引擎的自定义 Web 服务器上。

4

3 回答 3

7

您需要在类路径中添加适当的 .jar。就我而言,我使用了 Saxon-HE 库。

Saxon9 中存在一个错误,您可能会像我一样遇到。

该错误已在版本 9.5.1.5 中得到纠正。因此,您可以下载最新的 Saxon 9 HE

于 2014-06-15T08:08:30.437 回答
3

自己找到了答案:问题是使用 Java 5 和有一个选项的组合

-Djava.endorsed.dirs

设置为包含 xalan.jar 的目录。

一旦删除,一切都会再次运行。

于 2009-04-28T18:06:53.550 回答
2

确保您的类路径中有您正在使用的 xalan 版本的适当 xml-apis.jar 和 xerces jar(查看发行说明以了解您需要的确切内容)。还要确保您没有倍数,因为 xercesImpl.jar、xml-apis.jar 和 xalan.jar 需要同步。

于 2009-04-28T17:30:37.367 回答