java - 无法处理 DOMSource : check that saxon9-dom. jar 在类路径上

标签 java xml dom jar

当我运行一个简单的函数来更新没有 jars 的 DOM XML 时,它运行正确。如果我将它的代码放入一个有很多 jar 的现有项目中,我会得到这个异常

Exception in thread "main" java.lang.RuntimeException: net.sf.saxon.trans.XPathException: DOMSource cannot be processed: check that saxon9-dom.jar is on the classpath

这里

  transformer.transform(source, result);

在哪里

  TransformerFactory transformerFactory = TransformerFactory.newInstance();
  Transformer transformer = transformerFactory.newTransformer();
  DOMSource source = new DOMSource(docBuilder.parse(filepath));

如何在不引入对这个 jar 的依赖的情况下解决这个问题?谢谢。

最佳答案

此消息来自旧版本的 Saxon,您可以按照建议将 saxon9-dom 放在类路径中,或者用更新的版本替换 Saxon jar 文件来解决它。

一般来说,我建议不要使用 JAXP TransformerFactory 机制来加载 XSLT 处理器。您需要决定要使用哪个 XSLT 处理器,用它测试您的应用程序,然后确保在生产中加载这个处理器,而不管类路径上可能有什么。如果您希望您的应用程序与多个 XSLT 处理器一起工作,那么您可以实现这一点,但应该以受控方式完成。

关于java - 无法处理 DOMSource : check that saxon9-dom. jar 在类路径上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15438011/

相关文章:

java - 找不到依赖项 'org.apache.kafka:kafka-clients:2.1.1'

java - 为什么 Java Web Start 说已签名的 jar 文件未签名?

xml - 宏 VBA Excel 创建 XML 文件日期

javascript - 使用 DIV 中的 h1...h6 标签数量创建一棵树

java - switch 语句的替代方案

java - 为来自父类(super class)的字段限定 Spring 依赖注入(inject)

xml - 导入命名空间的 Eclipse WSDL 验证错误

java - 非法参数异常 : no view found for id 0x7f07004e android

javascript - 测试 RemoveNode DOM 函数

javascript - 如何使用 jquery 操作动态创建的元素?