org.xml.sax.SAXNotRecognizedException:无法识别功能“http://javax.xml.XMLConstants/feature/secure-processing

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了org.xml.sax.SAXNotRecognizedException:无法识别功能“http://javax.xml.XMLConstants/feature/secure-processing相关的知识,希望对你有一定的参考价值。

嗨,在我们的项目中,我们正在使用XJC ant任务进行xsd2schema生成,之后我们正在编译src文件并将它们分组到模式jar中。我们的类路径是:

jaxb-ri-2.2.6 - jaxb-impl.jar,jaxb-api.jar,jaxb-xjc.jar

这个ant任务在eclipse中工作得很好,jar被创建了,但它在unix环境中抛出了错误。

错误是:

java.lang.IllegalStateException:org.xml.sax.SAXNotRecognizedException:无法识别功能'http://javax.xml.XMLConstants/feature/secure-processing'。

当我们将“xercesImpl-2.9.1.jar”添加到unix构建类路径时,该错误消失了,但生成的jar与使用eclipse生成的jar不同。

eclipse构建jar-它只有几个类unix build jar-它有impl文件夹和很多类

在这两种情况下,jaxb罐都是一样的。请帮我解决这个问题....请...................

答案

将位于jre/lib/endorsed文件夹中的xercesImpl jar文件升级或添加到xercesImpl 2.9.1。您只需下载并替换即可。它必须工作。

另一答案

你需要jdk 7. JDK 8有maven测试这个问题。

另一答案

如果您有Maven,请将其添加到pom.xml

<dependency>
        <groupId>xerces</groupId>
        <artifactId>xercesImpl</artifactId>
        <version>2.11.0</version>
</dependency>
另一答案

将xercesImpl.jar升级到最新版本,并确保它已加载,它将与JDK 8一起使用。

另一答案

请将xercesImpl-2.9.1.jar添加到[JDK Path] / jre / lib / endorsed目录中。它将解决Java 1.8的问题

另一答案

我有这个问题,因为工作区使用的是JRE而不是JDK

以上是关于org.xml.sax.SAXNotRecognizedException:无法识别功能“http://javax.xml.XMLConstants/feature/secure-processing的主要内容,如果未能解决你的问题,请参考以下文章