Heim >Java >javaLernprogramm >Warum kann mein Java 1.4-Code aufgrund von rt.jar-Zugriffsbeschränkungen nicht kompiliert werden?
Zugriffsbeschränkung für Java-Klassen aufgrund der Abhängigkeit von rt.jar
Beim Versuch, Java 1.4-Code mit veralteten, von WSDL2Java generierten Stubs zu kompilieren, kann es sein, dass Entwickler Es tritt ein Zugriffsbeschränkungsfehler auf. Dieser Fehler ist auf die Unzugänglichkeit des QName-Typs aufgrund einer Einschränkung der rt.jar-Bibliothek zurückzuführen. Während davon ausgegangen wird, dass Stubs mit verfügbaren Laufzeit-JARs kompiliert werden sollten, tritt dieses Problem auf, wenn in mehreren JAR-Dateien doppelte Klassen vorhanden sind.
Lösung:
Um dieses Problem zu beheben , folgen Sie diesen Schritten:
Dadurch wird die richtige Version der Klasse in der rt.jar-Datei priorisiert und der Zugriff auf den QName-Typ ermöglicht.
Alternative Lösung:
Um das zugrunde liegende Problem zu beheben, identifizieren und schließen Sie alle JAR-Dateien aus, die doppelte Klassen enthalten. Dadurch wird sichergestellt, dass die richtige Version der Klasse geladen und vom Compiler verwendet wird. Im bereitgestellten Beispiel ist die doppelte Klasse javax.xml.soap.SOAPPart und befindet sich in mehreren JAR-Dateien. Durch das Ausschließen der Dateien axis-saaj-1.4.jar und saaj-api-1.3.jar kann die rt.jar-Version verwendet werden, wodurch die Zugriffsbeschränkung aufgehoben wird.
Das obige ist der detaillierte Inhalt vonWarum kann mein Java 1.4-Code aufgrund von rt.jar-Zugriffsbeschränkungen nicht kompiliert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!