Экспорт продукта (поверх Eclipse e4) и попытка запуска того же оставляет после себя ошибку, указывающую, что не удалось разрешить приход Bundles.

Я создал пример проекта e4, содержащий один плагин, состоящий из файла plugin.xml, файла fragment.e4xmi, файла .product и одного класса .Java Handler, который будет отвечать за отображение диалогового окна сообщения, как только будет нажато мое пользовательское меню. .

С этой настройкой я могу запустить продукт в режиме отладки (и я могу видеть свое настроенное меню), тогда как я не смог запустить экспортированный продукт. Я получаю следующую ошибку, когда пытаюсь это сделать:

java.lang.RuntimeException: Application "org.eclipse.e4.ui.workbench.swt.E4Application" could not be found in the registry. The applications available are: org.eclipse.ant.core.antRunner, org.eclipse.equinox.app.error.
at org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:248)
at org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:29)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)

Любые способы решить эти ???


person Ragu    schedule 09.09.2015    source источник


Ответы (1)


Если вы используете сборку на основе подключаемых модулей, на странице зависимостей вашего файла .product должен быть указан каждый требуемый подключаемый модуль. Кнопка «Добавить необходимое» на этой странице может помочь.

Для сборки на основе функций на странице зависимостей должны быть перечислены функции, которые включают все необходимые плагины.

person greg-449    schedule 09.09.2015
comment
Я попытался включить все необходимые плагины с помощью кнопки «Добавить необходимые плагины». Все исключения были удалены, за исключением следующего: java.lang.RuntimeException: приложение org.eclipse.e4.ui.workbench.swt.E4Application не может быть найдено в реестре. Доступны следующие приложения: org.eclipse.ant.core.antRunner, org.eclipse.equinox.app.error. в org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:248) в org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:29) - person Ragu; 09.09.2015
comment
Я отредактировал свой вопрос, чтобы отразить исключения, которые я получил наконец (т. Е. После выполнения «Добавить необходимые плагины» в файл .product) - person Ragu; 09.09.2015
comment
E4Application находится в org.eclipse.e4.ui.workbench.swt, добавьте это к зависимостям (и после этого снова выполните Add Required). - person greg-449; 09.09.2015
comment
greg-449: я добавил плагин «org.eclipse.e4.ui.workbench.swt» в качестве зависимости к файлу .product. После добавления этого плагина в качестве зависимости следует «Добавить необходимые плагины». Я все еще вижу ошибку. Теперь количество моих исключений увеличилось :) Раньше это было всего одно, но после этого мой вопрос возвращается в предыдущее состояние :) (т.е. трассировка стека исключений теперь становится похожей на тот, что перед моим РЕДАКТИРОВАТЬ) - person Ragu; 09.09.2015
comment
Эта ссылка описывает аналогичную проблему. Но мой файл продукта уже содержит эти .. - person Ragu; 09.09.2015
comment
Посмотрите на «Выполнить › Выполнить конфигурацию», которую вы использовали для тестирования приложения. Включите все из этого в зависимости продукта. - person greg-449; 09.09.2015
comment
Привет, Грег, я не вижу плагинов, перечисленных в диалоговом окне «Выполнить -> Выполнить настройку». На вкладке «Плагины» диалогового окна «Выполнить конфигурации» я заметил следующие поля: «Запуск с», «Уровень запуска по умолчанию» и «Автозапуск по умолчанию», и им были присвоены значения «все рабочее пространство и включенные целевые плагины». ', '4' и 'Ложь' соответственно. Не могли бы вы уточнить, что вы подразумеваете под включением всего этого в зависимости продукта ?? - person Ragu; 10.09.2015
comment
Грег: У меня есть еще один вопрос относительно файла e4 XMI. Вопрос в том, если у нас мало настроенных меню в файле XMI. Будет ли во время запуска продукта (в режиме выпуска как продукт eclipse) он будет содержать только эти новые меню? Или он также будет содержать меню затмения? - просто интересно узнать. - person Ragu; 10.09.2015
comment
Если вы создаете продукт, вы получаете законченный продукт со всеми меню. Если вы пытаетесь создать надстройки для Eclipse, вы должны использовать «Экспорт › Развертываемые надстройки и фрагменты». - person greg-449; 10.09.2015
comment
Спасибо, Грег, как исправить ошибку запуска продукта? Не могли бы вы уточнить, что вы подразумеваете под включением всего этого в зависимости продукта ?? Я не вижу каких-либо подключаемых модулей, перечисленных в диалоговом окне «Выполнить -> Выполнить настройку». На вкладке «Плагины» диалогового окна «Выполнить конфигурации» я заметил следующие поля: «Запуск с», «Уровень запуска по умолчанию» и «Автозапуск по умолчанию», и им были присвоены значения «все рабочее пространство и включенные целевые плагины». ', '4' и 'Ложь' соответственно. - person Ragu; 10.09.2015
comment
Измените «все рабочие области и включенные целевые плагины» на «плагины, выбранные ниже», чтобы увидеть, какие плагины используются. Вам просто нужно добавить все необходимые плагины в файл .product, это может быть тяжелой работой. Использование «функциональной» сборки проще. - person greg-449; 10.09.2015
comment
Привет, Грег, последний вопрос. Я не пытаюсь создавать надстройки для Eclipse. Моя цель - отключить (или полностью удалить) все меню eclipse по умолчанию (а именно .., File, Edit, Source и т. д.), и мне нужны только те меню, которые у меня есть в файле fragment.e4xmi, чтобы были видны ( или должен привлечь все внимание и, вероятно, должен переопределить меню по умолчанию eclipse). - person Ragu; 10.09.2015
comment
Тогда вам не следует использовать фрагмент, вы должны создавать RCP с помощью Application.e4xmi или RCP 3.x. - person greg-449; 10.09.2015
comment
Ооо.. Итак, если я использую Application.e4xmi, то он автоматически переопределит меню по умолчанию eclipse и отобразит только пользовательские меню, которые у меня есть в файле Application.e4xmi? - person Ragu; 10.09.2015
comment
Нет, «по умолчанию» нет, Application.e4xmi — это то, что определяет, какие объекты пользовательского интерфейса существуют — меню, представления, все. Если вы сделаете это, вам придется спроектировать весь внешний вид RCP. Прочитайте что-нибудь вроде vogella.com/tutorials/EclipseRCP/article.html. - person greg-449; 10.09.2015
comment
Привет, Грег, теперь я использую файл «Application.e4xmi» вместо файла fragment.xmi, как вы предложили. Я создал свои собственные меню в этом файле, и как связать этот файл с продуктом? Раньше, когда я использовал файл fragment.xmi, я связывал его с файлом plugin.xml, используя точку расширения org.eclipse.e4.workbench.model. - person Ragu; 11.09.2015
comment
Я заметил, что это указано в файле build.properties - person Ragu; 11.09.2015
comment
Комментарии не предназначены для бесконечного потока вопросов. Как вы используете Application.e4xmi, описано в учебнике, на который я ссылался. - person greg-449; 11.09.2015