Zippated Updateサイトから機能をインストールするときに提起されたIllegalStateException
-
27-10-2019 - |
質問
コマンドラインからZippated Updateサイトから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 -ClassPathを使用してOSGIバンドルに対してJavaアプリケーションを実行しようとするときに発生します。それは本当に、ワークベンチプラグインがまだ開始されていないことを意味しているため、getworkbench()が失敗するように呼びかけます。これは本質的に人種の状態であり、そのバンドルに明示的な依存性を表現するか、ワークベンチよりも高いスタートレベルにそのバンドルをぶつけて解決できます。一般的には見られませんが、もしそうなら、それが起こっていることです。 「
私の質問は次のとおりです。 誰かがこの例外の上昇を回避する方法を考えていますか? (たとえば、インストールコマンドにいくつかのVMオプションを追加して)
PS Eclipse 3.4を使用していますが、新しいものにアップグレードする方法はありません。
解決 2
今日、私はこの問題に少し苦労してきましたが、ついに解決策を見つけました。行方不明でした -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 .
他のヒント
それはバンドルによって引き起こされます org.eclipse.equinox.p2.ui あなたの環境で活動しています。デフォルトではワークベンチを起動しないので、バンドルは 解決しました OSGIランタイムの状態。このバンドルがあなたの環境で開始される理由がわかりません、あなたはファイルをチェックすることができます configuration/org.eclipse.equinox.simpleconfigurator/bundle.info, 、バンドルをオートスタートではないようにマークします。