Java 将xerces与JBOSS EAP 7.1一起使用时XSD 1.1验证失败

Java 将xerces与JBOSS EAP 7.1一起使用时XSD 1.1验证失败,java,xerces,jboss-eap-7,xsd-1.1,Java,Xerces,Jboss Eap 7,Xsd 1.1,我的web应用程序部署在JBOSS EAP 7.1服务器上,并使用jdk 1.8。我需要使用以下xerces依赖项根据XSD 1.1验证我的XML: <dependency> <groupId>org.opengis.cite.xerces</groupId> <artifactId>xercesImpl-xsd11</artifactId> <version>2.12-bet

我的web应用程序部署在JBOSS EAP 7.1服务器上,并使用jdk 1.8。我需要使用以下xerces依赖项根据XSD 1.1验证我的XML:

<dependency>
        <groupId>org.opengis.cite.xerces</groupId>
        <artifactId>xercesImpl-xsd11</artifactId>
        <version>2.12-beta-r1667115</version>
</dependency>
我遇到以下错误:

javax.xml.validation.SchemaFactoryConfigurationError: Provider for class javax.xml.validation.SchemaFactory cannot be created

如何使用xerces在JBOSS EAP 7.1中验证我的XSD 1.1版本?

尝试使用,它使用工厂的类名。工厂的类是“org.apache.xerces.jaxp.validation.XMLSchema11Factory”,您还需要类路径上的“xercesImpl-xsd11-2.12-beta-r1667115.jar”。

I did
SchemaFactory factory=SchemaFactory.newInstance(“http://www.w3.org/XML/XMLSchema/v1.1,“org.apache.xerces.jaxp.validation.xmlschema11工厂”,null)
并在类路径上添加了
xercesImpl-xsd11-2.12-beta-r1667115.jar
。然而,它仍然不适合我。我仍然收到
java.lang.NoSuchFieldError:W3C_XML_SCHEMA11_NS_URI
您不应该收到此错误,如果有另一个xercesimpl.jar跟踪上述jar,通常会发生此错误。请参阅:该类是org.xerces.impl.Constants。我在上面的jar中进行了检查,该文件定义了字段。检查jar阴影,即应用程序服务器类路径是否有一个版本,web应用程序是否有另一个版本。您正在使用JBOSS,所以不能完全确定,但在Tomcat中,类加载会出现问题;也许两个类的加载方式相同,而不引用父类加载程序,请检查一下。我的WEB-INF/lib有两个版本不同的Xerce。我从打包中排除了不需要的版本。因此,我的错误不再出现在newInstance()中。但是,现在我得到的错误是
org.xml.sax.SAXNotRecognizedException:Feature'http://apache.org/xml/features/validation/cta-full-xpath-checking'在
工厂无法识别。
设置功能('http://apache.org/xml/features/validation/cta-full-xpath-checking“,true)
不要设置该功能,模式1.1验证不需要这样做,请参阅:我在本地maven repo中添加了xerces2-j(带有xsd 1.1)JAR。然而,在我的jboss中部署时,xml验证仍然需要一些不同的步骤。我也排除了jboss模块中存在的Xerce。然而,它在容器内对我不起作用。
javax.xml.validation.SchemaFactoryConfigurationError: Provider for class javax.xml.validation.SchemaFactory cannot be created