我是靠谱客的博主 壮观小虾米,最近开发中收集的这篇文章主要介绍Java11引用org.w3c.dom 时报错The package org.w3c.dom is accessible from more than one module: , java.xmlJava11 引用 org.w3c.dom 时报错The package org.w3c.dom is accessible from more than one module: , java.xml 的解决方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Java11 引用 org.w3c.dom 时报错The package org.w3c.dom is accessible from more than one module: , java.xml 的解决方法

运行环境

IDE:Eclipse 2021-12

JDK:jdk-11.0.14.101-hotspot

Maven项目

原因

在Java9或者更高版本中,相同的包名不能在多个模组之中,而org.w3c.dom包已经包含在系统的库中,所以有其他依赖库中包含org.w3c.dom时会报出这个错误。

解决方法

解决方法是将包含org.w3c.dom的库删去,或者用exclusion的方式将部分包删去。

首先我们需要全局搜索项目中名为org.w3c.dom的Package,Limit To选择Declarations。

这时候我们发现:
在这里插入图片描述
在这里插入图片描述
在jaxen-1.1.6.jar中包含了这个包。如果我们在pom.xml中并没有引入同样名字的包,又是怎么回事呢?这个情况下,可能是我们在pom中引入的包的子包中引入了jaxen。

这时候,我们需要定位这个包在哪一个引用里面。在项目目录下使用命令行 maven dependency:tree 打出当前依赖库的树形结构。

[INFO] +- javax.servlet:javax.servlet-api:jar:4.0.1:compile
[INFO] +- org.apache.commons:commons-lang3:jar:3.8.1:compile
[INFO] +- commons-beanutils:commons-beanutils:jar:1.9.4:compile
[INFO] |
- commons-logging:commons-logging:jar:1.2:compile
[INFO] +- commons-collections:commons-collections:jar:3.2.1:compile
[INFO] +- org.dom4j:dom4j:jar:2.0.0:compile
[INFO] |
- jaxen:jaxen:jar:1.1.6:compile
[INFO] +- org.apache.poi:poi:jar:3.11:compile
[INFO] |
- commons-codec:commons-codec:jar:1.11:compile
[INFO] +- org.apache.poi:poi-scratchpad:jar:3.11:compile
[INFO] +- org.apache.poi:poi-ooxml:jar:3.11:compile
[INFO] +- org.apache.poi:poi-ooxml-schemas:jar:4.1.2:compile
[INFO] |
- org.apache.xmlbeans:xmlbeans:jar:3.1.0:compile
[INFO] +- commons-fileupload:commons-fileupload:jar:1.1.1:compile
[INFO] |
- commons-io:commons-io:jar:1.1:compile

通过搜索上述节选出来的树状结构可以发现,在dom4j中引入了jaxen的包。接下来就要从dom4j中除去这个包的引用:

<exclusions>
<exclusion>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
</exclusion>
</exclusions>

将上述包排除之后,项目恢复正常。

假如你必须要使用这个包怎么办?绕过org.w3c.dom这个包,用别的实现方法吧。。。

最后

以上就是壮观小虾米为你收集整理的Java11引用org.w3c.dom 时报错The package org.w3c.dom is accessible from more than one module: , java.xmlJava11 引用 org.w3c.dom 时报错The package org.w3c.dom is accessible from more than one module: , java.xml 的解决方法的全部内容,希望文章能够帮你解决Java11引用org.w3c.dom 时报错The package org.w3c.dom is accessible from more than one module: , java.xmlJava11 引用 org.w3c.dom 时报错The package org.w3c.dom is accessible from more than one module: , java.xml 的解决方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(32)

评论列表共有 0 条评论

立即
投稿
返回
顶部