首页 > 解决方案 > XPathFactory#newInstance() 未能为默认对象模型创建 XPathFactory:http://java.sun.com/jaxp/xpath/dom

问题描述

我的应用程序在 AIX 上给出了 xpathfactory 错误,该错误发生在代码 XPathFactory xpf = XPathFactory.newInstance(); 的这一行。但是,它在 windows 上运行良好。我已经提取了具有 XPathFactory 类的 rt.jar 并通过了代码。从Internet上的数据和代码中首先检查系统属性,如果没有找到则检查jaxp.properties。如果上述2个失败,则在类路径中搜索jar。我在jaxp.properties和in中都设置了系统属性appnode.tra.但是,它在 AIX 上失败了。如何打印 jaxp 日志,我想让它在类路径中不添加外部 jar 的情况下工作?(在 jaxp.properties 中,我已将属性设置为 javax.xml.xpath。 XPathFactory:http://java.sun.com/jaxp/xpath/dom=com.sun.org.apache.xpath.internal.jaxp.XPathFactoryImpl)

标签: javaxpathaixjaxp

解决方案


我猜您使用的是 IBM JDK,它的默认 XPath 实现不是com.sun.org.apache.xpath.internal.jaxp.XPathFactoryImpl- 这是完全合法的。

在 JDK9 上有一种方法XPathFactory.newDefaultInstance(),因此您不必再知道默认工厂的名称。

或者,如果您没有设置任何系统属性并且类路径上没有任何内容,请尝试查看加载了什么。


推荐阅读