升级JDK17后导出Eclipse可部署特性时出现包多模块访问冲突错误(代码无报错)
升级JDK17后导出Eclipse可部署特性时出现包多模块访问冲突错误(代码无报错)
最近我给Eclipse程序升级到JDK17后,每次尝试导出可部署特性时都会遇到一个棘手的问题:某个插件项目一直弹出错误提示:The package *********** is accessible from more than one module: , java.xml,但在代码编辑阶段完全没有任何报错。
我必须保持项目的合规级别为JDK17,另外我也搞不太清楚插件项目到底是不是模块化的——因为Eclipse提示创建module-info.java时,会显示“可能与清单文件不同步”,而且新建插件项目的时候也不会自动生成这个文件。
具体出现冲突的包有这几个:
javax.xml.parsersorg.w3c.domorg.xml.sax
我用的是自定义目标平台,之前里面包含了一个javax.xml的版本,现在已经把它删掉了。有意思的是:如果项目里同时保留两种类型的依赖,代码里也会报错,导出时同样出错;但就算只保留JDK17自带的版本,导出特性时还是会触发这个错误。
到目前为止,我已经试过这些方法,但都没解决问题:
- 从自定义目标平台中移除javax.xml组件
- 移除出问题的插件项目MANIFEST.MF文件里的相关依赖
- 检查项目中所有用到上述包的代码,确保它们都来自JDK17,没有其他来源
- 新建工作区重新导入项目,甚至重启了电脑
- 跟着一些类似问题的解决方案一步步操作,但都没起到作用
备注:内容来源于stack exchange,提问作者RoxelX
相关产品推荐
相关产品推荐

