You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Xerces库校验XSD 1.1报错及Maven依赖配置咨询

Xerces XSD 1.1 支持及依赖配置说明

基础支持结论

Apache Xerces 自2.11.0版本起已正式支持XSD 1.1规范校验,引入依赖后抛出SchemaFactory加载失败的问题,不是Xerces本身不支持XSD 1.1,是依赖引入坐标错误导致的。

问题根因

最初引入的xerces:xercesImpl是Maven仓库中早期遗留的非官方维护包,存在两个核心问题:

  • 包内未注册XSD 1.1对应的SchemaFactory服务实现,JVM无法通过标准SPI机制找到对应实现类
  • 未配置XSD 1.1运行所需的第三方依赖声明,缺少运行必需的类文件

手动加入classpath的四个jar包均为XSD 1.1校验的必需运行组件,分别对应:

  • cupv10k-runtime.jar:XSD 1.1断言语法解析依赖的CUP语法分析器运行时
  • org.eclipse.wst.xml.xpath2.processor_1.1.0.jar:XSD 1.1规则依赖的XPath 2.0表达式计算引擎
  • xercesImpl.jar:Xerces核心实现包
  • xml-apis.jar:XML处理标准API包

这些依赖不需要手动下载导入,Apache官方维护的Xerces包已经配置了完整的传递依赖规则,直接引入官方Maven坐标即可自动拉取所有必需组件。

正确依赖配置

将pom中原有xerces依赖替换为Apache官方维护的坐标:

<dependency>
    <groupId>org.apache.xerces</groupId>
    <artifactId>xercesImpl</artifactId>
    <version>2.12.2</version>
</dependency>

依赖引入完成后,原有SchemaFactory.newInstance("http://www.w3.org/XML/XMLSchema/v1.1")代码可直接正常运行,不会再抛出SchemaFactory加载失败的异常。

若项目存在其他组件引入的低版本xml-apis、或者JDK内置XML API的版本冲突,可根据实际运行报错调整依赖排除规则,常规Spring、普通JavaSE项目不需要额外配置。

内容的提问来源于stack exchange,提问作者NAVOZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 19:36:24