Heim >Java >javaLernprogramm >Warum kann Eclipse nach der JDK 10-Migration keine XML-Klassen laden?

Warum kann Eclipse nach der JDK 10-Migration keine XML-Klassen laden?

DDD
DDDOriginal
2024-11-30 12:42:12380Durchsuche

Why Can't Eclipse Load XML Classes After JDK 10 Migration?

Eclipse lädt XML-Klassen nach dem Wechsel zu JDK 10 nicht

Bei der Migration eines Maven-Projekts zu JDK 10 können Eclipse-Entwickler auf ein Problem stoßen wo XML-bezogene Klassen während der Kompilierung nicht mehr zugänglich sind. Dieser Fehler tritt nur innerhalb der Eclipse-Build-Umgebung auf, während Maven-Builds und das Durchsuchen einzelner Klassen davon nicht betroffen sind.

Ursache:

Die Ursache dieses Problems liegt im unbenannten Modul Wird vom Projekt verwendet, dem eine module-info.java fehlt. Dies bedeutet, dass Code innerhalb des unbenannten Moduls kompiliert wird, das beobachtbare benannte und unbenannte Module liest, einschließlich java.xml. Der Klassenpfad enthält jedoch auch xml-apis.java, das widersprüchliche Pakete mit demselben Namen beisteuert.

Lösung:

Um dieses Problem zu beheben, stehen zwei Optionen zur Verfügung:

1. Erstellen Sie eine module-info.java-Datei:

Fügen Sie eine module-info.java-Datei zu Ihrem Projekt hinzu und geben Sie an, welche Module erforderlich sind:

requires ...*;

Ersetzen Sie ... durch entweder java.xml oder xml.apis.

2. Beobachtbare Module in Eclipse begrenzen:

Navigieren Sie in Eclipse zu Java Build Path > Bibliotheken > Classpath und öffnen Sie das Dialogfeld „Modularitätsdetails“. Schließen Sie java.xml aus dem Satz beobachtbarer Module aus, indem Sie es aus dem Abschnitt „Explizit enthaltene Module“ in den Abschnitt „Verfügbare Module“ verschieben. Alle für Ihr Projekt wesentlichen Module können selektiv wieder hinzugefügt werden.

Zusätzliche Informationen:

  • Eclipse bietet jetzt eine genauere Fehlermeldung: „Das Paket javax. Auf xml.xpath kann von mehr als einem Modul aus zugegriffen werden.“
  • Das Verhalten des Compilers beim Ändern der Reihenfolge von JRE- und JAR-Dateien auf dem Klassenpfad bleibt rätselhaft.

Das obige ist der detaillierte Inhalt vonWarum kann Eclipse nach der JDK 10-Migration keine XML-Klassen laden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn