You need to enable JavaScript to run this app. 排除依赖仍无法解决Java9+项目org.w3c.dom多模块访问报错
优惠活动
大模型
产品
解决方案
定价
更多

排除依赖仍无法解决Java9+项目org.w3c.dom多模块访问报错

Java 9+ 项目JPMS模块系统依赖冲突问题

报错场景

搭建Java 9及以上版本的项目时,触发*Java平台模块系统(JPMS)*相关的包访问冲突,处理XML解析相关导入语句时,IDE抛出明确报错:

The package org.w3c.dom is accessible from more than one module: , java.xml

通过IDE的Open Type对话框排查确认,org.w3c.dom.Document类存在两个类提供方,导致类路径优先级冲突。此前参考过多个同主题的公开技术讨论,其中给出的通用方案(从依赖中排除对应冲突包)在当前场景下完全失效。

已完成的排查与配置

当前项目仅引入be.ugent.rml:rmlmapper:4.9.1这一个Maven依赖,按照同类问题的解决教程,在pom.xml中添加了如下排除规则:

<dependencies>
    <dependency>
        <groupId>be.ugent.rml</groupId>
        <artifactId>rmlmapper</artifactId>
        <version>4.9.1</version>
        <exclusions>
            <exclusion>
                <groupId>xml-apis</groupId>
                <artifactId>xml-apis</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.w3c</groupId>
                <artifactId>dom</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>

配置完成后冲突问题未解决:项目可正常走完编译构建流程,但运行时会触发相关类加载报错。

待解决的核心问题

  • 现有配置选择的排除包是否匹配实际的冲突来源?
  • 执行mvn dependency:tree命令排查时,未检索到任何提供org.w3c.dom包的依赖项,该如何定位实际提供冗余类路径的依赖来源?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.03 08:06:09