IllegalstateException sollevato durante l'installazione del sito di aggiornamento zippato

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

  •  27-10-2019
  •  | 
  •  

Domanda

Sto sperimentando l'installazione di una funzione Eclipse dal sito di aggiornamento zippato dalla riga di comando. Per fare questo utilizzo il comando seguente:

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

Funziona, tuttavia poco prima della fine del processo di installazione, aumenta un'eccezione come questa:

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.

La funzione richiesta è installata, ma mi sento male per questa eccezione, in particolare non starà bene sul computer di qualcuno;)

Qui Ho trovato alcune informazioni su questa eccezione: "java.lang.illegalstateException: Workbench non è stato ancora creato

Questo di solito arriva quando qualcuno cerca di eseguire un'applicazione Java contro un pacchetto OSGI con Java -ClassPath .... Significa davvero che il plug-in Workbench non è ancora iniziato, e quindi le chiamate per GetWorkbench () falliscono. Questa è essenzialmente una condizione di gara e può essere risolta esprimendo una dipendenza esplicita da quel fascio o aumentando quel pacchetto a un livello di inizio più alto rispetto al banco di lavoro. Generalmente non visto, ma se lo è, è quello che sta succedendo. "

La mia domanda è: Qualcuno ha un'idea di come aggirare questa eccezione? (EG aggiungendo alcune opzioni VM al comando di installazione)

PS Sto usando Eclipse 3.4 e non c'è modo di aggiornarlo a qualcosa di più nuovo.

È stato utile?

Soluzione 2

Oggi ho lottato un po 'con questo problema e alla fine ho trovato una soluzione. Mancava -destination Argomento nel comando di installazione, quindi quello corretto è:

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 .

Altri suggerimenti

È causato dal pacchetto org.eclipse.equinox.p2.ui è attivo nel tuo ambiente. Per impostazione predefinita non si lancia Workbench, in modo che il pacchetto dovrebbe essere dentro Risolto State in Osgi Runtime. Non sono sicuro del motivo per cui questo pacchetto è iniziato nel tuo ambiente, puoi controllare il file Configuration/org.eclipse.equinox.simpleconfigurator/bundle.info, Contrassegna il pacchetto come non avvio automatico.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top