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

已引入Xerces 2却仍因缺失Xerces类导致Jena运行失败

解决Jena运行时的NoClassDefFoundError: org/apache/xerces/util/XMLChar问题

这个错误我之前排查过好几次,本质是你的项目缺少了Xerces解析库的依赖——虽然你引入了apache-jena-libs的pom依赖,但它并没有自动把Xerces的依赖传递到你的项目里,或者可能是项目依赖树里的Xerces被其他依赖给意外排除了。

给你两个可行的解决步骤:

1. 手动添加Xerces依赖到pom.xml

直接在你的Maven依赖中加入Xerces的实现包,选一个和Jena 3.6.0兼容的版本就行,比如2.12.2:

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

添加之后重新执行mvn clean install,再运行你的Jena示例,大概率就能解决这个类找不到的问题。

2. 排查是否存在依赖冲突

如果添加依赖后还是报错,那可能是项目里有其他依赖排除了Xerces。你可以用Maven的依赖树命令查看详细的依赖情况:

mvn dependency:tree

在输出结果里搜索xercesImpl,看看有没有类似(excluded)的标记。如果有,找到对应的依赖,在它的<dependency>标签里添加<exclusions>来取消对Xerces的排除,或者调整依赖的声明顺序让你的Xerces依赖优先级更高。

举个例子,如果发现是某个依赖排除了Xerces,你可以这样修改:

<dependency>
    <groupId>某个依赖的groupId</groupId>
    <artifactId>某个依赖的artifactId</artifactId>
    <version>版本号</version>
    <exclusions>
        <!-- 取消对xercesImpl的排除 -->
        <exclusion>
            <groupId>xerces</groupId>
            <artifactId>xercesImpl</artifactId>
        </exclusion>
    </exclusions>
</dependency>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:53:37