Я пытаюсь выполнить свое приложение RCP, которое я недавно переместил из Индиго затмения в Фотон. После изменения / обновления необходимых библиотек мне удалось без проблем запустить приложение, запустив продукт как приложение Eclipse (из Eclipse IDE).
Однако, когда я экспортирую продукт в собственный исполняемый файл и запускаю его, я получаю несколько 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)
и т.д.
Я проверил, что список плагинов в конфигурации запуска и продукте совпадают (выбран с «добавить необходимые плагины» и отмечен «проверить плагины» в конфигурации запуска). Фактически, нажатие кнопки добавления необходимых плагинов со страницы продукта, по-видимому, оставляет некоторые плагины, которые включены в окно запуска (и, по-видимому, они необходимы для запуска приложения в затмении), поэтому я добавил недостающие плагины вручную. к продукту, но все равно не повезло. Я загрузил окончательный список плагинов (тот, что из конфигурации запуска) в этот каталог , чтобы посмотреть, связано ли это с ним. Список плагинов, автоматически сгенерированный из продукта, практически такой же, но содержит на 7 плагинов меньше (и я добавил тогда, как я сказал выше).
Я новичок в Eclipse Photon и всем этом механизме внедрения, но я почти уверен, что мой проект не использует его напрямую (может быть, какой-то новый плагин, который включен, использует его косвенно?).
Я использовал параметры -clean и -cleanPersistedState, как предложено в другом ответе, для решения проблем с инъекцией, но я все еще получаю те же результаты.
Есть какие-нибудь подсказки, как решить эту проблему или как отключить инъекцию / какой плагин вызывает инъекцию?
Привет