Heim >Java >javaLernprogramm >Kann Java 1.4-Code auf Java 5 kompiliert werden, ohne Stubs neu zu erstellen?

Kann Java 1.4-Code auf Java 5 kompiliert werden, ohne Stubs neu zu erstellen?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-21 06:10:10884Durchsuche

Can Java 1.4 Code Compile on Java 5 Without Rebuilding Stubs?

Zugriffsbeschränkung auf die erforderliche Bibliothek rt.jar: Kann Java 1.4-Code auf Java 5 kompiliert werden, ohne Stubs neu zu erstellen?

Beim Kompilierungsversuch Java 1.4-Code, der von IBMs WSDL2Java auf Java 5 generiert wurde, ohne die Stubs neu zu erstellen, ein Zugriffsbeschränkungsfehler kann in Eclipse auftreten. Der Fehler „Zugriffsbeschränkung: Auf den Typ QName kann aufgrund einer Einschränkung der erforderlichen Bibliothek rt.jar nicht zugegriffen werden“ weist darauf hin, dass der Zugriff auf die erforderliche Bibliothek (rt.jar) eingeschränkt ist.

Dieses Problem tritt aufgrund der Stubs auf Für Java 1.4 generierter Code verwendet möglicherweise Klassen aus der Java 1.4-Laufzeit, die sich von der von Java 5 verwendeten Laufzeit unterscheidet. Die in Java 5 enthaltene rt.jar-Bibliothek enthält möglicherweise nicht die erforderlichen Klassen für den generierten Code um erfolgreich zu kompilieren.

Alternative Lösung zum Neuerstellen von Stubs

Es gibt eine alternative Lösung für dieses Problem, ohne dass die Stubs neu erstellt werden müssen. Die Schritte sind wie folgt:

  1. Öffnen Sie die Projekteigenschaften und gehen Sie zu „Build Path“.
  2. Entfernen Sie die „JRE System Library“.
  3. Fügen Sie „ JRE-Systembibliothek“ zurück, indem Sie sie aus den Optionen „Bibliothek hinzufügen“ auswählen.

Diese Lösung funktioniert, weil möglicherweise mehrere Klassen aus verschiedenen JAR-Dateien in der vorhanden sind Projekt. Durch das Entfernen und erneute Hinzufügen der JRE-Systembibliothek wird sichergestellt, dass die richtigen Klassen priorisiert werden.

Sicherstellung einer grundlegenden Lösung

Stellen Sie für eine grundlegendere Lösung sicher, dass die JAR-Dateien Folgendes enthalten Dieselben Klassen sind vom Projekt ausgeschlossen. Dadurch werden Konflikte zwischen Klassen aus verschiedenen Quellen verhindert und sichergestellt, dass die erforderlichen Klassen aus der JRE-Systembibliothek verwendet werden.

Beispiel:

Im Fall von javax.xml .soap.SOAPPart ist in drei JAR-Dateien vorhanden (axis-saaj-1.4.jar, saaj-api-1.3.jar und rt.jar), mit Ausnahme der Die ersten beiden JAR-Dateien garantieren, dass die SOAPPart-Klasse aus der JRE-Systembibliothek verwendet wird, wodurch der Zugriffsbeschränkungsfehler behoben wird.

Das obige ist der detaillierte Inhalt vonKann Java 1.4-Code auf Java 5 kompiliert werden, ohne Stubs neu zu erstellen?. 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