Я экспериментирую с установкой функции Eclipse с заархивированного сайта обновлений из командной строки. Для этого я использую следующую команду:
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
Это работает, однако непосредственно перед окончанием процесса установки возникает исключение, подобное этому:
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.
Запрошенная функция установлена, но мне не нравится это исключение - особенно на чьем-то компьютере это будет выглядеть не очень хорошо ;)
Здесь я нашел некоторую информацию об этом исключении: "java.lang.IllegalStateException: Workbench еще не создан
Обычно это происходит, когда кто-то пытается запустить приложение Java для пакета OSGi с помощью java -classpath.... . На самом деле это означает, что подключаемый модуль рабочей среды еще не запущен, и поэтому вызовы getWorkbench() завершаются ошибкой. По сути, это состояние гонки, и его можно решить, либо указав явную зависимость от этого пакета, либо подняв этот пакет до более высокого начального уровня, чем верстак. Как правило, не видел, но если он есть, то это то, что происходит. "
Мой вопрос: Кто-нибудь знает, как обойти это исключение? (например, добавив некоторые параметры vm в команду установки)
PS Я использую Eclipse 3.4 и нет возможности обновить его на что-то более новое.