从JDK 8迁移到打开JDK 11-缺少导入

人气:55 发布:2023-01-03 标签: java import java-11

问题描述

我正在尝试将我的应用程序从Java 8迁移到Open JDK 11。

其中JDK 11中缺少的导入很少。例如,我找不到下面的导入

import org.w3c.dom.Document;
import com.sun.org.apache.xerces.internal.impl.xpath.regex.ParseException;
import org.xml.sax.SAXException;

但当我尝试为(w3c-dom.jar)添加外部JAR时,我们收到以下错误

可以从多个模块访问org.w3c.dom包:,java.xml

如上所述,所有导入都会发生相同的错误

可以从多个模块访问org.xml.sax包:,java.xml

请对上述错误提出您的看法。

推荐答案

我遇到了类似的问题,如下所述。

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

因为存在一个在内部生成xml-apis.jar的依赖项,而这个JAR实际上是造成问题的原因。我遵循了下面提到的步骤,这对我很有帮助。

转到系统的.m2存储库文件夹并检查 xml-apis.jar存在,如果存在,则表示此JAR正在产生问题。 从存储库文件夹中删除此JAR。 并排除pom.xml中的xml-API传递依赖项。 刷新、重新编译项目并检查。

注意:在您的情况下,生成此xml-api.jar的依赖项可能不同,因此找到该依赖项并排除XM-API。

16