Java 重写Xerces实现以通过XMLInputFactory创建XMLEventReader

Java 重写Xerces实现以通过XMLInputFactory创建XMLEventReader,java,xml,xerces,stax,Java,Xml,Xerces,Stax,Java附带的Xerces版本有一个。Apache的Xerces发行版(自2.6.2版起)长期以来都修复了这个bug 我想通过XMLInputFactory接口创建一个XMLEventReader。大概是这样的: XMLInputFactory.newFactory().createXMLEventReader(new FileInputStream(inputFile)); 简单地将Xerces JAR放入类路径在这里似乎不起作用。事实上,我不认为Apaches Xerces发行版扩展了XM

Java附带的Xerces版本有一个。Apache的Xerces发行版(自2.6.2版起)长期以来都修复了这个bug

我想通过XMLInputFactory接口创建一个XMLEventReader。大概是这样的:

XMLInputFactory.newFactory().createXMLEventReader(new FileInputStream(inputFile));
简单地将Xerces JAR放入类路径在这里似乎不起作用。事实上,我不认为Apaches Xerces发行版扩展了XMLInputFactory,这似乎是创建特定于实现的输入工厂的先决条件

有没有办法强制XMLInputFactory.newFactory从类路径使用Apaches Xerces版本?

试试看

    <dependency>
        <groupId>xerces</groupId>
        <artifactId>xercesImpl</artifactId>
        <version>2.11.0</version>
    </dependency>

薛西斯
干细胞移植
2.11.0

此版本包括StAX,它将自动覆盖默认的StAX impl,使用jar服务提供商mechanizm可能会有所帮助。您需要设置一个系统属性来告诉工厂实例化哪个类。不幸的是,Xerces似乎没有XMLInputFactory的实现。至少我找不到。有什么消息吗?我在Java10中遇到了非常类似的问题。不幸的是,我们的项目没有使用Maven。所有库都是通过设置类路径来设置的。没关系,从这里下载xerces 2.11.0 jar似乎不起作用。我尝试了问题中的示例代码,其中只包含对Xerces 2.11的Maven依赖。