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

Eclipse Java17模块系统报错:org.w3c.dom包多模块冲突

问题:Eclipse编译Java17时报错“The package org.w3c.dom is accessible from more than one module: , java.xml”

此问题并非常见的「移除类路径重复依赖」问题,已排查过重复依赖,同事使用IntelliJ IDE无此问题,推测是Eclipse未妥善处理特殊项目配置导致。

核心报错

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

注:冲突依赖均来自同一JRE系统库,而非冗余依赖。

项目背景

这是一个大型遗留项目,已从Java 1.6升级至Java 17,新增server-util模块后出现问题;Compiler-Options设为Java 1.8时编译正常,设为Java 9及以上(如17)则触发报错。

环境工具

  • Eclipse 2021_06 至 2023_09 版本均存在此问题
  • Java 17(jdk-17.0.5+8)
  • Gradle Wrapper 7.4.2
  • 项目未使用module-info.java,属于默认<unnamed>模块

项目结构

  • 分为client、server、share、server-util四个模块
  • client和server依赖share模块
  • server依赖server-util模块
  • 除server-util为Gradle项目外,其余均为Ant构建的普通Java项目

问题现象

  1. 编译选项切换至Java 17后,仅server与server-util模块间出现报错
  2. 冲突提示的依赖均来自同一JDK17,但Eclipse未识别为同一JRE
  3. 执行Gradle刷新后,server-util的JRE配置会被重置,需手动重新选择

已尝试方案

更换Eclipse版本、修改模块依赖、调整JRE配置等操作均无效。

推测与补充信息

  • 推测Eclipse无法妥善处理普通Java项目与Gradle项目的依赖关系,导致误报冲突
  • server-util模块的实现依赖包含xml-apis-1.0.b2.jar,怀疑此jar包是问题根源,但IntelliJ中无报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 09:45:20