gpt4 book ai didi

java - 未找到 XPathFactory 实现,ubuntu 服务器中的 xpath 工厂实例创建问题。如何解决问题?

转载 作者:行者123 更新时间:2023-12-04 18:28:58 24 4
gpt4 key购买 nike

我正在尝试创建一个新的 xpath 工厂实例,它在我的本地机器上运行完美,没有任何问题,但在我的 ubuntu 服务器(16.0)java 1.7 实例中抛出以下错误。

SEVERE: Caught exception : javax.xml.xpath.XPathFactoryConfigurationException: No XPathFactory implementation found for the object model: http://java.sun.com/jaxp/xpath/dom
at javax.xml.xpath.XPathFactory.newInstance(XPathFactory.java:268)

我已阅读以下文章,

https://saxonica.plan.io/issues/1944

Syntax error in javax.xml.xpath.XPathFactory provider-configuration file of Saxon-HE 9.3

并更新了我的代码,如下所示,
 xPathfactory = XPathFactory.newInstance(
XPathFactory.DEFAULT_OBJECT_MODEL_URI, "net.sf.saxon.xpath.XPathFactoryImpl",
ClassLoader.getSystemClassLoader());

但它仍然抛出以下错误。

我在本地和服务器实例中都使用 saxon 9.3.0.5 版本。

我正在使用这个版本,因为与最新版本相比,它提供了更快的 xslt 转换。

我究竟做错了什么?任何帮助将不胜感激。提前致谢。

最佳答案

首先,如果您因为性能下降而在迁移到新的 Saxon 版本时遇到问题,那么为了整个用户社区的利益,我强烈建议您与我们合作,确定并解决该问题,而不是坚持使用已知错误的旧版本。

我怀疑你已经正确地确定了这个问题。它有着悠久而曲折的历史。 IIRC(这可能是一种简化):JDK 5 要求服务文件的格式与文档格式不同,而 Saxon 使用的格式有效。 JDK 6 接受了“错误”的格式以及正确的格式。 JDK 7 只接受正确的格式。因此,旧版本的 Saxon 不能与新的 JDK 版本一起使用——至少就这个接口(interface)而言。

一种解决方法是直接实例化 Saxon 的 XPathFactory(使用 new net.sf.saxon.xpath.XPathFactoryImpl()),而不是使用 JAXP 搜索机制。这在任何情况下都更有效。

关于java - 未找到 XPathFactory 实现,ubuntu 服务器中的 xpath 工厂实例创建问题。如何解决问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54283920/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com