当前位置: 首页 > 知识库问答 >
问题:

排除依赖关系无助于修复"包org.w3c.dom可从多个模块访问:,java.xml"

史修谨
2023-03-14

尝试使用Java版本设置项目时

这个rmlmapper-4.9.1.jar是我项目中目前唯一的maven依赖项,我试图按照这里的建议排除xml-apis。如你所见,我还添加了org.w3c.dom。

<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>

不幸的是,这没有帮助,错误仍然存在。请注意,我可以构建项目,但在运行时会出现错误。我是否排除了错误的包裹?我找不到提供org的包。w3c。dom使用mvn dependency:tree如何找到需要排除的包?

共有1个答案

寇夜洛
2023-03-14

从您提供的Eclipse快照来看,包org.w3c.dom似乎嵌入了rmlmapper依赖项Jar本身(Jar可能将自己的依赖项捆绑在其中)。因此,排除将不起作用,因为它只排除了传递依赖项(不是捆绑包)。即使可以排除包,另一种方法是排除java.xml模块,使用--Limited模块选项。请注意,如果rmlmapper也捆绑其他JDK类,则可能需要对其他模块执行此操作。

不管怎样,最好的解决方案是联系rmlmapper库的所有者,让他们知道Java9的问题,因为他们可能没有升级他们的项目来支持该版本。

 类似资料:
  • 我正在将公司的项目从Java1.8迁移到OpenJDK14。像其他许多人一样(在这个、这个或这个线程中),我在Java9模块化方面遇到了一些问题,特别是在包。 我已经生成了,目前JRE系统库(OpenJDK 14)和所有外部JAR都在Java构建路径的Modulepath上。所以我不再有错误

  • 尝试在JMX控制台中注册MBean时,我收到以下错误消息: 我正在使用Eclipse,我的项目结构中没有文件。 当我注释我对javaeeapi的依赖关系时,错误消失了,但是包不是JAR的一部分。

  • 我知道已经有一些关于这些问题的话题了,但我遇到的情况有所不同。 它以以下错误消息开始: 我知道下面的依赖关系“导致”了这种情况,因为如果我删除它,这个错误就会消失(并弹出许多其他错误): 我已经试过这个了: 然而,这并没有改变这个问题。 我尝试使用列出可传递的依赖项,它为OSLC Java客户端返回了此依赖项树: 现在,让我困惑的是,似乎不存在于该树的任何地方。这怎么可能?我知道一个事实,删除这个

  • 我的环境: Java 11 不确定如何修复此错误:

  • 我的项目在Java1.8u151中运行良好。我正在尝试将它升级到Java12,但是我得到了以下错误。 这是唯一的错误,在Java12中的大多数包中都会重复出现,但在Java8中效果良好。 我已尝试将所有jar文件从模块路径移动到类路径。模块路径中只有Java 12库。我在Java版本的软件包中寻找任何不推荐的东西。我用不同的Java版本尝试了3种不同的系统(都运行OS-X10.13.6、10.13

  • 我已经研究了好几天了,似乎所有的答案都是特定于Eclipse的。我在Visual Studio Code上遇到此错误: 这将出现在包含导入。 使用: Java 11.0.4 Gradle构建时没有问题,因此错误消息表示终端和VSCode之间存在某种断开连接。 到目前为止,我已经: 确保和匹配 任何帮助都将不胜感激,谢谢您的时间! 我知道这个问题,但一直没有答案。