Beschränkung des Zugangs: Ist nicht zugänglich, da die Beschränkung auf die gewünschte Bibliothek ..\jre\lib\rt.jar
Ich versuche zu ändern, dass einige legacy-code aus, während Sie sich zurück und erhalten folgende Art von Fehler:
Zugriffsbeschränkung: Die Methode create(JAXBRIContext, Objekt) vom Typ Header ist nicht zugänglich, da die Beschränkung auf die gewünschte Bibliothek ..\jre\lib\rt.jar
für diese import-Anweisungen:
import com.sun.xml.internal.bind.api.JAXBRIContext;
import com.sun.xml.internal.ws.api.message.Header;
import com.sun.xml.internal.ws.api.message.Headers;
import com.sun.xml.internal.ws.developer.WSBindingProvider;
Gesucht was das bedeuten könnte und wie man es beheben, aber nicht in der Lage zu finden eine klare Antwort. Einige Beiträge scheinen zu behaupten, dass ich einige Gläser enthalten, die zur Umsetzung von Klassen, die sind jetzt verfügbar als Teil des Kern-java-distribution, aber soweit ich sehen kann keines der Gläser habe ich auch enthalten anderen/älteren Versionen der oben genannten Klassen.
Jemand in der Lage mir zu sagen was dieser Fehler ist und wie ich gehen könnte, über dies zu beheben?
Dank für Eure Hilfe schon im Voraus,
Olli
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lief ich in etwas ähnliches, denke ich, dass die Ursache der Warnung von Eclipse, die versuchen, Sie zu entmutigen mit dem internen
com.sun
Pakete, die installiert sind, als Teil Ihres workspace-JRE, aber nicht Teil der öffentlichen Java-API.Als Justin sagt in seiner Antwort, wenn Sie Ihre compiler-Einstellungen kann die Warnung auszublenden. Ein feiner Ansatz ist die Anpassung des build-Pfad explizit erlauben den Zugriff auf das Paket in Frage:
"com/sun/xml/internal/**"
.Nachdem Sie diese Regel sollte Ihr Projekt aufbauen, ohne diese Warnung.
Ausgezeichnete Antwort bereits vor Ort hier.
Finden Sie in der Zusammenfassung unten:
Nicht die wahre Lösung, aber überall sah ich die Lösung war zu einfach zu sagen, Eclipse, dass diejenigen, die nicht die Fehler. Sie können es ändern, indem Sie auf Eigenschaften --> Java-Compiler --> Fehler, Warnungen --> Veraltet und restrited APIs --> Verboten Referenz (acess-Regel), und Ändern Sie es von Fehler auf Warnung oder Ignorieren.
hab ich gelöst das Problem mit diesen Schritten: erweitern Sie Ihr Projekt mit der rechten klicken Sie auf "JRE System Library" - > Eigenschaften > 3. wählen Sie die option "Workspace default JRE" > OK . Hoffe, dass es dir auch helfen
<properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties>
zum BeispielIn Eclipse:
Project -> properties -> java Build Path -> libraries
Entfernen Sie vorhandene JRE System Library, dann
Add Library -> JRE System library -> next -> ok
Fehler werden entfernt.
Ich hatte das gleiche problem, wenn mein plugin war je auf einem anderen Projekt, welches exportiert werden einige Pakete in seiner manifest-Datei. Anstelle der änderung von Zugriffsregeln, ich habe es geschafft das problem zu lösen, indem Sie die erforderlichen Pakete in den Export-Paket Abschnitt. Dies macht die Pakete rechtlich sichtbar. Eclipse bietet tatsächlich dieses Update auf die "Access restriction" - Fehlermeldung marker.
In der eclipse-Umgebung, wo Sie die Ausführung von java-Programmen die folgenden Schritte aus:
Bin ich die Beantwortung dieser Frage, denn ich hatte eine andere Art der Festsetzung dieses problem, als die anderen Antworten hatte. Ich hatte dieses problem als ich neu erarbeiteten die Namen der plugins, die ich war, zu exportieren. Schließlich musste ich sicherstellen, dass zu beheben/ändern Sie die folgenden.
Dieser arbeitete für mich, aber Ihre Laufleistung variieren.
Ich nur geänderte Projekt-Facette auf 1,7 und es funktionierte.
Gehen Buildpath
Entfernen Sie Vorhandene JRE und neue JRE-library, die enthalten Jdk1.6
und fertig
Reinigen Sie nun alle Projekt-und bauen wieder
Ich denke, auf diese Weise können Sie aufgelöst, Ihre Fehler