0

コマンドラインからzip形式の更新サイトから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-classpath....を使用してOSGiバンドルに対してJavaアプリケーションを実行しようとしたときに発生します。これは、実際には、ワークベンチプラグインがまだ開始されていないため、getWorkbench()の呼び出しが失敗することを意味します。これは本質的に競合状態であり、そのバンドルへの明示的な依存関係を表現するか、そのバンドルをワークベンチよりも高い開始レベルに上げることで解決できます。一般的には見られませんが、見られる場合は、それが起こっています。「」

私の質問は次のとおりです。この例外の発生を回避する方法を誰かが知っていますか?(たとえば、インストールコマンドにいくつかのvmオプションを追加することによって)

PS私はEclipse3.4を使用していますが、それを新しいものにアップグレードする方法はありません。

4

2 に答える 2

1

これは、バンドルorg.eclipse.equinox.p2.uiがご使用の環境でアクティブになっていることが原因です。デフォルトでは、Workbenchを起動しないため、バンドルはOSGiランタイムで解決済み状態になっている必要があります。このバンドルがご使用の環境で開始される理由がわかりません。ファイルconfiguration/org.eclipse.equinox.simpleconfigurator / bundle.infoを確認し、バンドルを自動開始しないものとしてマークしてください。

于 2011-10-21T12:33:27.860 に答える
0

今日、私はこの問題に少し苦労していて、ついに解決策を見つけました。installコマンドに引数が欠落-destinationしていたため、正しい引数は次のとおりです。

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 .
于 2011-10-24T10:04:31.530 に答える