使用XPathFactory的类路径问题

B.E*_*.E. 7 java classpath

我在其中一个实时服务器上遇到以下异常(运行相同代码的其他服务器似乎没问题):

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)
Run Code Online (Sandbox Code Playgroud)

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

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

编辑:

这是导致问题的代码:

            XPathFactory factory = XPathFactory.newInstance();
Run Code Online (Sandbox Code Playgroud)

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

Fiv*_*veO 7

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

Saxon9中存在一个可能与我一样的错误.

该错误已在版本9.5.1.5中得到纠正.所以你可以下载最新的Saxon 9 HE.


B.E*_*.E. 3

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

-Djava.endorsed.dirs
Run Code Online (Sandbox Code Playgroud)

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

一旦删除,一切都会恢复正常。