2009-05-15 10 views
2

Hallo Ich versuche, eine Eclipse-Plugin (in Eclipse) zu entwickeln, die die Java-Debugging-Schnittstelle verwendet und ich bin die folgenden Fehler erhalten:Java Plugin-Entwicklung mit Debug-Schnittstelle Problem

Access restriction: The type VirtualMachine is not accessible due to restriction on required library /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Classes/classes.jar

die Debug-Schnittstelle verwenden in einem nicht-Plugin Entwicklungsprojekt scheint gut zu funktionieren. Ich denke, es hat etwas mit den Plugin-Abhängigkeiten zu tun, aber ich bin mir nicht sicher, wie ich es beheben kann.

Antwort

2

Diese Fehlermeldung kann durch Ändern einer Einstellung in der Eclipse-IDE entfernt werden. Öffnen Sie das unten gezeigte Dialogfeld mit einem der folgenden Pfade.

* Windows -> Preferences -> Java 
    -> Compiler -> Errors/Warnings 
* (Project) Properties -> Java Compiler -> Errors/Warnings 

Suchen Sie die „Verbotene Referenz (Zugriffsregeln)“ Option unter „Veraltet und eingeschränkten API“ im Dialogfeld. Diese Option legt fest, wie mit Zugriffsregeln verfahren wird, die in Eclipse definiert sind. Standardmäßig ist es auf "Error" gesetzt, was dazu führt, dass Eclipse sich über Verweise auf eingeschränkte Klassen beschwert. Wenn Sie eine andere Option auswählen (Warnung oder Ignorieren), werden diese Fehlermeldungen gelöscht.

Quelle: http://lkamal.blogspot.com/2008/09/eclipse-access-restriction-on-library.html

+0

Großartig, arbeitete für mich, danke. Mein Rat ist, immer den zweiten Pfad zu wählen (den Eclipse sogar mit einem Link für projektspezifische Einstellungen auf dem letzten Bildschirm des ersten Pfades anbietet): Dieser Fehler ist darauf zurückzuführen, dass Code auf Klassen zugreift, die in einer idealen Welt nicht funktionieren sollten (In meinem Fall war es der Code eines Drittanbieters, der für den Zugriff auf einen externen Dienst verwendet wurde - Klassen, die ich sowieso nicht anfassen möchte). Wenn man diese Einstellung auf das aktuelle Projekt beschränkt, vermeidet man solche Verstöße in der Zukunft. – chesterbr