Heim >Java >javaLernprogramm >Warum ist javax.xml.namespace.QName beim Kompilieren von Java 1.4-Code in Java 5 nicht zugänglich?

Warum ist javax.xml.namespace.QName beim Kompilieren von Java 1.4-Code in Java 5 nicht zugänglich?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-19 16:12:12698Durchsuche

Why is javax.xml.namespace.QName Inaccessible When Compiling Java 1.4 Code in Java 5?

Zugriff auf Klassen aufgrund der Einschränkung der rt.jar-Bibliothek eingeschränkt

Beim Kompilieren von Java 1.4-Code in Java 5 mit Eclipse tritt ein Fehler auf. Die Fehlermeldung besagt, dass auf den Typ javax.xml.namespace.QName aufgrund von Einschränkungen in der rt.jar-Bibliothek nicht zugegriffen werden kann. Dieses Problem tritt häufig auf, wenn mit Stubs gearbeitet wird, die vom WSDL2Java-Tool von IBM generiert wurden.

Ursache

Der Fehler tritt auf, weil die rt.jar-Bibliothek in Ihrer Java 5-Laufzeitumgebung enthält eine in Konflikt stehende Version der Klasse javax.xml.namespace.QName, die sich von der in den generierten Stubs verwendeten Version unterscheidet. Diese Versionsinkompatibilität führt zu Zugriffsbeschränkungen.

Lösung

Anstatt die Stubs neu zu erstellen, können Sie die folgende Lösung ausprobieren:

  1. Richtig -Klicken Sie im Paket-Explorer von Eclipse auf Ihr Projekt und wählen Sie es aus Eigenschaften.
  2. Navigieren Sie zu Java Build Path > Bibliotheken.
  3. Entfernen Sie den Eintrag JRE-Systembibliothek.
  4. Klicken Sie auf Bibliothek hinzufügen und wählen Sie JRE-Systembibliothek .
  5. Wählen Sie die Standard-JRE aus und klicken Sie OK.

Grund

Durch das Entfernen und erneute Hinzufügen der JRE-Systembibliothek wird sichergestellt, dass die richtige Version von javax.xml.namespace verwendet wird .QName wird zuerst geladen. Standardmäßig lädt Eclipse möglicherweise die in Konflikt stehende Version aus der rt.jar-Bibliothek, was zu einer Zugriffsbeschränkung führt.

Hinweis

Wenn Sie auf ähnliche Konflikte mit anderen Klassen stoßen, müssen Sie Sie können bestimmte JAR-Dateien, die widersprüchliche Versionen enthalten, aus Ihrem Build-Pfad ausschließen. Dadurch wird sichergestellt, dass die gewünschten Versionen zuerst geladen werden.

Das obige ist der detaillierte Inhalt vonWarum ist javax.xml.namespace.QName beim Kompilieren von Java 1.4-Code in Java 5 nicht zugänglich?. 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