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

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

Barbara Streisand
Release: 2024-11-29 11:22:12
Original
982 people have browsed it

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

Eclipse Build Path Issue with XML Classes after Migration to JDK 10

When migrating a Maven project from Java 8 to JDK 10, Eclipse users may encounter a build error involving classes such as javax.xml.xpath, org.w3c.dom.Document, and org.xml.sax.SAXException. This issue arises specifically when switching the project's Java Build Path to JDK 10.

Root Cause

The issue stems from the fact that the project lacks a module-info.java file. This setup results in the code being compiled in the "unnamed module." The unnamed module can load packages from all the observable modules and in this case includes packages such as java.xml from the Java Runtime Environment and xml-apis from the Maven dependency.

Rule Violation

This situation contravenes the Java Language Specification (JLS) §7.4.3, which demands unique visibility for qualified type names. In this case, the packages from java.xml and xml-apis provide conflicting definitions for java.xml.xpath and related classes.

Solutions

1. Add a module-info.java File

Implement a module-info.java file and specify the required modules, either requires java.xml; or requires xml.apis;, to resolve the visibility issue.

2. Exclude java.xml from Observable Modules

Avoid the clash by excluding java.xml from the observable modules list. This can be achieved through the "Modularity Details" dialog within Eclipse.

Implications and Conclusion

While javac may not reject the erroneous code, it is incorrect according to the JLS. The Eclipse error messaging has since been improved to provide a more specific indication of the underlying problem. Developers are advised to adhere to Java's modularity guidelines and ensure unique visibility for their modules to prevent such build errors.

The above is the detailed content of Why Am I Getting Eclipse Build Path Errors with XML Classes After Migrating to JDK 10?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template