IllegalStateException wurde bei der Installation von Funktionen von der Reißverschluss -Update -Site erhöht

StackOverflow https://stackoverflow.com/questions/7835418

  •  27-10-2019
  •  | 
  •  

Frage

Ich experimentiere mit der Installation einer Eclipse -Funktion von der Reißverschluss -Update -Site von der Befehlszeile. Zu diesem Zweck verwende ich den folgenden Befehl:

eclipsec.exe -nosplash -application org.eclipse.equinox.p2.director -repository jar:file:///d:\Eclipse_Workspaces\update-site-dummy_workspace\com.experiment.updatesite\experiment_update_site_1.0.0.zip!/ -installIU com.experiment.feature.one.feature.group -profile PlatformProfile

Es funktioniert jedoch kurz vor dem Ende des Installationsprozesses eine Ausnahme wie diese:

Installing com.experiment.feature.one.feature.group 1.0.0.
java.lang.IllegalStateException: Workbench has not been created yet.
        at org.eclipse.ui.PlatformUI.getWorkbench(PlatformUI.java:92)
        at org.eclipse.equinox.internal.provisional.p2.ui.ProvisioningOperationRunner.requestRestart(ProvisioningOperationRunner.java:171)
        at org.eclipse.equinox.internal.p2.ui.ProvUIActivator$1.notify(ProvUIActivator.java:117)
        at org.eclipse.equinox.internal.p2.core.ProvisioningEventBus.dispatchEvent(ProvisioningEventBus.java:108)
        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:227)
        at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:149)
        at org.eclipse.equinox.internal.p2.core.ProvisioningEventBus.publishEvent(ProvisioningEventBus.java:85)
        at org.eclipse.equinox.internal.p2.engine.SimpleProfileRegistry.broadcastChangeEvent(SimpleProfileRegistry.java:350)
        ....
Operation completed in 1277 ms.

Die angeforderte Funktion ist installiert, aber ich fühle mich schlecht in dieser Ausnahme - insbesondere auf dem Computer eines Menschen sieht sie nicht gut aus;)

Hier Ich habe einige Informationen zu dieser Ausnahme gefunden: "Java.lang.IillegalstateException: Workbench wurde noch nicht erstellt

Dies kommt normalerweise, wenn jemand versucht, eine Java -Anwendung gegen ein OSGI -Bündel mit Java -Klassenpfad auszuführen .... Es bedeutet wirklich, dass das Workbench-Plug-In noch nicht begonnen hat, und so to GetworkBench () scheitern. Dies ist im Wesentlichen eine Rennbedingung und kann gelöst werden, indem entweder eine explizite Abhängigkeit von diesem Bündel ausdrückt oder dieses Bündel auf ein höheres Startniveau als die Workbench steigt. Im Allgemeinen nicht gesehen, aber wenn es so ist, ist das passiert. "

Meine Frage ist: Hat jemand eine Idee, wie man diese Ausnahme steigt? (ZB Hinzufügen einiger VM -Optionen zum Befehl install))

PS Ich benutze Eclipse 3.4 und es gibt keine Möglichkeit, es auf etwas Neueres zu aktualisieren.

War es hilfreich?

Lösung 2

Heute habe ich ein bisschen mit diesem Problem zu kämpfen und schließlich eine Lösung gefunden. Es fehlte -destination Argument im Befehl Install, also ist das richtige:

eclipsec.exe -nosplash -application org.eclipse.equinox.p2.director -repository jar:file:///d:\Eclipse_Workspaces\update-site-dummy_workspace\com.experiment.updatesite\experiment_update_site_1.0.0.zip!/ -installIU com.experiment.feature.one.feature.group -profile PlatformProfile -destination .

Andere Tipps

Es wird durch das Bündel verursacht org.eclipse.equinox.p2.ui ist in Ihrer Umgebung aktiv. Standardmäßig starten Sie keine Workbench Beschlossen Staat in der OSGI -Laufzeit. Ich bin mir nicht sicher, warum dieses Bundle in Ihrer Umgebung gestartet wird. Sie können die Datei überprüfen Konfiguration/org.eclipse.equinox.simpleconfigurator/bündel.info, Markieren Sie das Bundle als nicht automatisch.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top