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

关于“包org.w3c.dom可从多个模块访问:,java.xml”的特定问题

江展
2023-03-14

我正在将公司的项目从Java1.8迁移到OpenJDK14。像其他许多人一样(在这个、这个或这个线程中),我在Java9模块化方面遇到了一些问题,特别是在包org方面。w3c。dom

我已经生成了module-info.java,目前JRE系统库(OpenJDK 14)和所有外部JAR都在Java构建路径的Modulepath上。所以我不再有错误模块:

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

顺便说一句,我不能简单地删除罐子蜡染。所有xml。API。ext,因为项目中使用的其他包不在JavaSE中。

我的主管也告诉我不要将任何非maven项目转换为maven项目,我提到了这一点,因为我发现这个问题的所有其他参考似乎都讨论了利用Maven依赖和排除的解决方案。

现在经过一些分析,我得出结论,对我来说,消除这些错误最有效的方法是解包两个JAR文件,反编译包,删除重复的org。w3c。dom从那些外部JAR,最后重新编译整个过程,并将定制JAR传递到构建路径。

  1. 这个想法有意义吗?如果不能使用Maven依赖项,您会这样做吗
  2. 因为我们是从1.8迁移过来的,所以我从来没有实际使用过模块信息。java,那么也许有一种更简单的方法可以将这些包排除在该文件中?我对其他解决方案持开放态度
  3. 最后但并非最不重要的一点是,如果我所描述的解决方案是可行的,那么解包和重新打包这些JAR文件的最佳方法是什么

共有1个答案

杜苏燕
2023-03-14

您不需要反编译/重新编译任何东西,您可以简单地删除与包相对应的JAR文件中的目录。

 类似资料:
  • 尝试使用Java版本设置项目时 这个rmlmapper-4.9.1.jar是我项目中目前唯一的maven依赖项,我试图按照这里的建议排除xml-apis。如你所见,我还添加了org.w3c.dom。 不幸的是,这没有帮助,错误仍然存在。请注意,我可以构建项目,但在运行时会出现错误。我是否排除了错误的包裹?我找不到提供使用如何找到需要排除的包?

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

  • 我的环境: 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之间存在某种断开连接。 到目前为止,我已经: 确保和匹配 任何帮助都将不胜感激,谢谢您的时间! 我知道这个问题,但一直没有答案。

  • 我在用java导入文件时遇到了一个错误,因为“包java.util可以从多个模块访问:error”。