Я пытаюсь создать приложение Eclipse RCP с Maven / Tycho на основе функций.Мое приложение - это простой язык с редактором (встроенным с помощью Xtext) и несколькими другими плагинами, которые являются зависимостями от проекта.Существует несколько инструкций, в которых описывается, как создать приложение Eclipse RCP, например,
http://mattiasholmqvist.se/2010/03/building-with-tycho-part-2-rcp-applications/
или
https://kthoms.wordpress.com/2010/11/12/setting-up-a-rcp-product-for-a-dsl/
Пока чточто я сделал:
Создан проект плагина, который содержит файл feature.xml.Файл feature.xml состоит из языковых плагинов и их зависимостей
Создан проект плагина, который содержит определение продукта.Определение продукта названо в честь имени проекта плагина (Mattias Homlqvist (первая ссылка в этом посте) подчеркивает, что Tycho делает предположения относительно имени файла продукта (по отношению к имени проекта плагина)).В определении продукта я создал новый продукт и указал на приложение «org.eclipse.ui.ide.workbench».Я также добавил свой плагин функций и функции org.eclipse.pde и org.eclipse.rcp на вкладку зависимостей в редакторе.
Если я пытаюсь запуститьпродукт я получаю исключение:
java.lang.RuntimeException: No application id has been found.
at org.eclipse.equinox.internal.app.EclipseAppContainer.
startDefaultApp(EclipseAppContainer.java:242)
at org.eclipse.equinox.internal.app.MainApplicationLauncher.
run(MainApplicationLauncher.java:29)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.
runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.
start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.
run(EclipseStarter.java:344)
at org.eclipse.core.runtime.adaptor.EclipseStarter.
run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.
invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.
invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
Хорошо, что-то пошло не так.Теперь я проверяю, все ли необходимые плагины добавлены в диалог конфигурации запуска на вкладке «Плагины».Итак, продукт и плагин не выбраны.Если я нажимаю «добавить необходимые плагины», добавляется плагин продукта, нажимая «проверить плагины», просто всплывающее окно с сообщением «проблем не обнаружено».Если я снова попытаюсь запустить продукт, я получу то же исключение.Нажатие «Синхронизировать» в редакторе определения продукта отменяет внесенные мной изменения (продукт и функция отменены) - и мне интересно, почему?
Кажется, что сама сборка Maven / Tycho работает.Если я пытаюсь собрать проект с
mvn install
, создаются ZIP-файлы для соответствующих платформ.К сожалению, проблема все еще существует, и сборка не является исполняемой.Так что, вероятно, я допустил ужасную ошибку в своем проекте функции и / или плагина продукта.Может быть, у кого-то есть идея или она может указать мне правильное направление?
Заранее спасибо!