Eclipseのから実行RCPアプリケーションは、それがInjectionExceptionsをスローエクスポート、罰金を実行します

Yampeku:

私は最近、光子に日食インディゴから移動私のRCPアプリケーションを実行しようとしています。必要なライブラリを更新/変更した後、私は(EclipseのIDEから)Eclipseアプリケーションとして、製品を起動し、問題なくアプリケーションを実行するために管理しています。

私はネイティブの実行可能ファイルに製品を輸出し、それを起動したときしかし、私はいくつかのInjectionExceptionを取得します

!SESSION 2018-09-06 16:48:55.406 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.8.0_171
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=es_ES
Framework arguments:  -clearPersistedState
Command-line arguments:  -os win32 -ws win32 -arch x86 -clean -clearPersistedState

!ENTRY org.eclipse.e4.ui.workbench 4 0 2018-09-06 16:48:59.412
!MESSAGE Unable to create class 'org.eclipse.e4.ui.internal.workbench.addons.CommandProcessingAddon' from bundle '52'
!STACK 0
org.eclipse.e4.core.di.InjectionException: Unable to process "CommandProcessingAddon.broker": no actual value was found for the argument "IEventBroker".
    at org.eclipse.e4.core.internal.di.InjectorImpl.reportUnresolvedArgument(InjectorImpl.java:489)
    at org.eclipse.e4.core.internal.di.InjectorImpl.resolveRequestorArgs(InjectorImpl.java:480)
    at org.eclipse.e4.core.internal.di.InjectorImpl.internalInject(InjectorImpl.java:126)
    at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:412)
    at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:345)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:214)
    at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:108)
    at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:74)
    at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:51)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:282)
    at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:617)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)
...

!ENTRY org.eclipse.e4.ui.workbench 4 0 2018-09-06 16:48:59.419
!MESSAGE Unable to create class 'org.eclipse.e4.ui.internal.workbench.addons.ContextProcessingAddon' from bundle '52'
!STACK 0
org.eclipse.e4.core.di.InjectionException: Unable to process "ContextProcessingAddon.broker": no actual value was found for the argument "IEventBroker".
    at org.eclipse.e4.core.internal.di.InjectorImpl.reportUnresolvedArgument(InjectorImpl.java:489)
    at org.eclipse.e4.core.internal.di.InjectorImpl.resolveRequestorArgs(InjectorImpl.java:480)
    at org.eclipse.e4.core.internal.di.InjectorImpl.internalInject(InjectorImpl.java:126)
    at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:412)
    at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:345)
    at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:214)
    at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:108)
    at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:74)
    at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:51)
    at org.eclipse.e4.ui.internal.workbench.swt.E4Application.createE4Workbench(E4Application.java:282)
    at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:617)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:336)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:597)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:148)

私は、起動設定と製品のプラグインのリストが(「必要なプラグインを追加」を選択し、起動構成の「検証プラグイン」で確認)と同じであることを確認しています。実際には、追加の製品ページからプラグインを必要と押すと、私は手で欠落しているプラグインを追加しましたので、起動ウィンドウが含まれていることをいくつかのプラグインを除外(およびEclipse内での打ち上げに応用するために必要であると思われる)ように見えます製品に、まだ運。私は、最終的なプラグインのリスト(起動設定から1)をアップロードしたこのペーストビンに、それはややそれに関連するかどうかを確認します。自動的に生成物から生成されたプラグインリストはほぼ同じであるが、7つの以下のプラグイン(及びIは、上記述べたように、私はその後、追加)を含みます。

私は、Eclipse光子と、すべてこの注入機構に新たなんだけど、私はかなり確信して私のプロジェクトは、それを直接使用しませんよ(間接的な用途に含まれているかもしれないいくつかの新しいプラグインを?)。

注入の問題に対処するために、別の回答で提案されているように私は-cleanと-cleanPersistedStateパラメータを使用しているが、私はまだ同じ結果を得ます。

注射が呼ばれることを引き起こしているプラ​​グインを無効に注入/にどのようにこれを解決したりする方法上の任意の手がかり?

よろしく

グレッグ-449:

プラグインはおそらくのOSGi宣言型サービスorg.eclipse.equinox.ds実行しているからイベントブローカー工場を妨げる開始されていません。

あなたが設定するには、xxx.productファイルを使用している場合、RCPは、「構成」タブの[スタートレベル」セクションをご確認ください。含ま推奨開始設定を追加するために「追加推奨」ボタンを使用しますorg.eclipse.equinox.ds

アップデート:Eclipseの2018から09の場合は、以降のorg.apache.felix.scr置き換えorg.eclipse.equinox.dsと同様のスタートレベルの設定が必要です。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=172299&siteId=1