org.xml.sax.SAXException:javax.xml.parsers.FactoryConfigurationError:无法创建类 javax.xml.parsers.SAXPars

Posted

技术标签:

【中文标题】org.xml.sax.SAXException:javax.xml.parsers.FactoryConfigurationError:无法创建类 javax.xml.parsers.SAXParserFactory 的提供程序【英文标题】:org.xml.sax.SAXException: javax.xml.parsers.FactoryConfigurationError: Provider for class javax.xml.parsers.SAXParserFactory cannot be created 【发布时间】:2021-12-28 15:42:52 【问题描述】:

我之前使用 xalan jar 2.6.0 在 linux 服务器上运行了一个旧脚本。现在我已经在 aws 服务器上下载了 xalan 2.7.2。以下是命令:

java -Xmx3036m -Xbootclasspath/a:/home/ec2-user/Search_Aids/xalan-jar/xalan-j_2_7_2/xalan.jar:/home/ec2-user/Search_Aids/xalan-jar/xalan-j_2_7_2/xalan .jar/xalan-j_2_7_2/xercesImpl.jar:/home/ec2-user/Search_Aids/xalan-jar/xalan-j_2_7_2/xml-apis.jar org.apache.xalan.xslt.Process -in dummy.xml -xsl / home/ec2-user/Search_Aids/entry.xsl -out entry.xml -FLAVOR s2s=SAX -param dinput d2021.xml -param qinput q2021.xml -param prev_index_mapping previdxrefs.xml

我收到以下错误消息: (错误位置未知)org.xml.sax.SAXException: javax.xml.parsers.FactoryConfigurationError: 无法创建类 javax.xml.parsers.SAXParserFactory 的提供程序

(错误位置未知)XSLT 错误(javax.xml.transform.TransformerConfigurationException):getAssociatedStylesheets 失败 线程“主”java.lang.RuntimeException 中的异常:getAssociatedStylesheets 失败 在 org.apache.xalan.xslt.Process.doExit(Process.java:1155) 在 org.apache.xalan.xslt.Process.main(Process.java:1128)

我不是 Java 开发人员,也不熟悉 xalan。但错误听起来像 xalan 无法识别全局 java 类 SAXParser。我不知道这个选项“-FLAVOR s2s=SAX”有什么作用。删除该选项将发送相同的错误消息。

任何帮助和建议将不胜感激。

建华

【问题讨论】:

为什么要添加“saxon”标签? 尝试使用系统属性-Djaxp.debug=1 运行以提供有关 JAXP 动态加载的诊断。 Michael,我继承了旧脚本,不知道为什么需要“saxon”标签。看来这个标签是没用的。无论如何,添加了调试标记,我收到以下消息 JAXP: find factoryId =javax.xml.transform.TransformerFactory JAXP: find factoryId =javax.xml.parsers.SAXParserFactory (Location of error unknown)org.xml.sax.SAXException: javax. xml.parsers.FactoryConfigurationError:无法创建类 javax.xml.parsers.SAXParserFactory 的提供程序 JAXP:找到 factoryId =javax.xml.parsers.SAXParserFactory(错误位置未知)XSLT 错误 ... 迈克尔,感谢您的帮助。 用“-classpath”更改“-Xbootclasspath/a:”似乎正在运行程序,但收到此错误消息:SystemId Unknown;第 #-1 行; #-1 列;文件过早结束。 【参考方案1】:

解决方案:将-Xbootclasspath/a: 替换为-classpath 并使用有效的dummy.xml 文件。

【讨论】:

以上是关于org.xml.sax.SAXException:javax.xml.parsers.FactoryConfigurationError:无法创建类 javax.xml.parsers.SAXPars的主要内容,如果未能解决你的问题,请参考以下文章

Axis解析webservice异常 SAXException SimpleDeserializer encountered a child element

{http://schemas.xmlsoap.org/soap/envelope/}Server.userException 错误解决

{http://schemas.xmlsoap.org/soap/envelope/}Server.userException 错误解决