首页 >Java >java教程 >为什么在迁移到 JDK 10 后,我会遇到 XML 类的 Eclipse 构建路径错误?

为什么在迁移到 JDK 10 后,我会遇到 XML 类的 Eclipse 构建路径错误?

Barbara Streisand
Barbara Streisand原创
2024-11-29 11:22:12928浏览

Why Am I Getting Eclipse Build Path Errors with XML Classes After Migrating to JDK 10?

迁移到 JDK 10 后 XML 类的 Eclipse 构建路径问题

将 Maven 项目从 Java 8 迁移到 JDK 10 时,Eclipse 用户可能会遇到涉及 javax.xml.xpath 等类的构建错误, org.w3c.dom.Document 和 org.xml.sax.SAXException。当将项目的 Java 构建路径切换到 JDK 10 时,特别会出现此问题。

根本原因

问题源于项目缺少模块信息。 java 文件。此设置会导致代码在“未命名模块”中编译。未命名模块可以从所有可观察模块加载包,在本例中包括来自 Java 运行时环境的 java.xml 和来自 Maven 依赖项的 xml-apis 等包。

规则违反

这种情况违反了 Java 语言规范 (JLS) §7.4.3,该规范要求限定类型名称的唯一可见性。在这种情况下,java.xml 和 xml-api 中的包为 java.xml.xpath 和相关类提供了冲突的定义。

解决方案

1 。添加一个 module-info.java 文件

实现一个 module-info.java 文件并指定需要的模块,要么需要 java.xml;或者需要 xml.apis;,解决可见性问题。

2.从可观察模块中排除 java.xml

通过从可观察模块列表中排除 java.xml 来避免冲突。这可以通过 Eclipse 中的“模块化详细信息”对话框来实现。

含义和结论

虽然 javac 可能不会拒绝错误代码,但根据JLS。此后,Eclipse 错误消息传递得到了改进,可以提供更具体的潜在问题指示。建议开发人员遵守 Java 的模块化准则并确保其模块的独特可见性,以防止此类构建错误。

以上是为什么在迁移到 JDK 10 后,我会遇到 XML 类的 Eclipse 构建路径错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn