Das Problem besteht darin, dass das Standardziel viele Bundles enthält, die nichts mit Ihrem Bundle zu tun haben. Geben Sie den Befehl ss
ein, wenn alle Fehlermeldungen beendet sind, werden sie aufgelistet.
Folgendes tun Sie:
Ich habe viel gekämpft für "Workbench wurde noch nicht erstellt" den ganzen Tag.
Aber ich habe die Lösung durch die folgenden Schritte .-
Danke
Das ist das Hauptproblem:
java.lang.IllegalStateException: Workbench wurde noch nicht erstellt.
Sie verwenden Methoden / Objekte aus der Workbench oder beziehen sich auf die Workbench, während die Workbench selbst noch nicht erstellt wurde. Vielleicht können Sie die Aktivierung des Bundles verzögern oder Abhängigkeiten von Workbench aus dem Aktivierungs / Initialisierungsteil des Bundles entfernen.
Huch, zurück zum Anfang. Die letzte Zeile des Protokolls enthält eine "Hallo Welt" - ist das die erwartete Ausgabe von Ihrem Bundle? Vielleicht ist es nicht Ihr Bündel, das die Fehler und Warnungen in der Ausgabe verursacht. Ich sehe auch 'Mylin' und andere Sachen. Wenn möglich, fügen Sie Ihrem System eine weitere Neuinstallation von Eclipse (keine zusätzlichen Bundles / Plugins) hinzu und versuchen Sie das Bundle in dieser Umgebung.
Von einem guten Artikel über eclipsezone :
Dies kommt normalerweise, wenn jemand versucht, eine Java-Anwendung gegen ein OSGi-Paket mit java -classpath .... auszuführen. Es bedeutet wirklich, dass das Workbench-Plug-in noch nicht gestartet wurde, und ruft daher auf, dass getWorkbench () fehlschlägt. Dies ist im Wesentlichen eine Race-Bedingung und kann gelöst werden, indem man entweder eine explizite Abhängigkeit von diesem Bündel ausdrückt oder dieses Bündel zu einem höhere Startlevel als die Workbench. Normalerweise nicht gesehen, aber wenn es so ist, passiert das.
Was ist die Oberklasse Ihres eigenen Pakets? Weil das eine Abhängigkeit von der Workbench verursachen könnte.
Und - wie startet man das Bundle, aus der Eclipse heraus oder hat man es in den Eclipse-Plugin-Ordner gepackt? Das könnte einen Unterschied machen.
Keiner dieser Fehler hat etwas mit Ihrem Paket zu tun. Wie Sie in der Ausgabe "Hello World" sehen können, startet Ihr Bundle gut.
Ich glaube, Sie starten Eclipse auf die falsche Art und aktivieren wahrscheinlich alle Bündel eifrig. Eclipse muss mit den meisten Workbench-Bundles im "Lazy Activation" -Modus starten.
-console
zur eclipse.ini
Datei hinzugefügt? MANIFEST.MF
aus Ihrem eigenen Paket config.ini
von ECLIPSE_HOME/configuration
eclipse.ini
von ECLIPSE_HOME
Überprüfen Sie zuerst die Abhängigkeiten des leeren Plugins. Möglicherweise fehlen Sie, um ein Plugin hinzuzufügen, das zur Laufzeit nicht geladen wird.
Wenn Sie Abhängigkeiten in Ihrem Plugin haben, überprüfen Sie, welche Version der Plugins verwendet wird.
Welche Java-Version haben Sie in Ihrem Plugin definiert? Ist es höher als die Version, die Sie zur Laufzeit verwenden?
Lädt Ihr Plugin DLLs? Wenn ja, überprüfen Sie, ob die DLL zur Laufzeit gefunden werden kann.
Bearbeiten:
# Workbench wurde noch nicht erstellt. # bei org.eclipse.ui.PlatformUI.getWorkbench (PlatformUI.java:92) # at org.eclipse.mylyn.internal.monitor.ui.MonitorUiPlugin.start (MonitorUiPlugin.java:145)
Was haben Sie in der Startmethode des Activators definiert? Es sät, dass Sie die Workbench verwenden, die noch nicht erstellt wurde.