Невозможно отладить приложение Eclipse из-за отсутствия классов

Я написал подключаемый модуль DSL, используя Xtext 2.2.1. После обновления до Xtext 2.3.0 я не могу отлаживать соответствующее приложение Eclipse (т. е. я использую конфигурацию запуска с пометкой «Приложение Eclipse» для запуска экземпляра с моим подключаемым модулем DSL из Eclipse) из-за этой ошибки:

Error instantiating builder 'org.eclipse.xtext.ui.shared.xtextBuilder'.
Plug-in org.eclipse.xtext.ui.shared was unable to load class org.eclipse.xtext.ui.shared.internal.ExecutableExtensionFactory.
org/eclipse/xtext/ui/guice/AbstractGuiceAwareExecutableExtensionFactory

Что я пробовал:

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

  2. Я убедился, что org.eclipse.xtext.ui и org.eclipse.xtext.ui.shared версии 2.3.0 доступны в списке плагинов и оба включены.

  3. Когда я устанавливаю плагин в свою IDE, он работает отлично. Я просто не могу запустить приложение Eclipse из среды IDE.

«Проверить плагины» не показывает никаких проблем.

Любые идеи, как я могу это исправить?


person Aaron Digulla    schedule 12.09.2012    source источник
comment
Что именно вы подразумеваете под «обновленным»? Вы устанавливали новые версии плагинов XText в «старый» Eclipse? И вы перегенерировали парсер XText с новой версией?   -  person tobias_k    schedule 18.09.2012
comment
Я обновил плагины на своей целевой платформе (заменил их версиями с заархивированного сайта обновлений, а затем запустил инструменты p2 для создания новых jar-файлов артефактов/контента). Затем я снова установил Eclipse, используя эту целевую платформу, поэтому платформа и Eclipse используют одни и те же плагины. Я перегенерировал парсер. Как я уже сказал: парсер работает. Моя проблема в том, что я не могу создать рабочую конфигурацию запуска.   -  person Aaron Digulla    schedule 18.09.2012
comment
Вероятно, вы либо уже пробовали это, либо у вас есть веские причины не делать этого, но в любом случае: 1) Проблема также возникает при установке XText 2.3 в «свежий» Eclipse вместо обновления с более ранней версии? 2) Можете ли вы запустить приложение, щелкнув правой кнопкой мыши свой проект XText и выбрав «Запустить как приложение Eclipse» вместо изменения старого стартера?   -  person tobias_k    schedule 18.09.2012
comment
@tobias_k: 1) С моим целевым репозиторием я не могу обновить существующую установку Eclipse (она всегда выдает ошибки p2, которые я не могу исправить), так что это чистая установка. 2) Я попробую это.   -  person Aaron Digulla    schedule 19.09.2012
comment
Думаю, я тогда немного неправильно понял об обновлении. ;-) Об этом приложении Run-As-Eclipse: только что попробовал это сам, и Eclipse постоянно использовал старый стартер вместо создания нового, поэтому вам, возможно, придется переименовать или даже удалить существующий стартер, прежде чем пытаться это...   -  person tobias_k    schedule 19.09.2012
comment
Хорошо, создание новой конфигурации запуска работает; Думаю, я приму это как ответ, хотя я бы предпочел знать, что не так с неработающей конфигурацией.   -  person Aaron Digulla    schedule 19.09.2012
comment
Ну, я думаю, главное, что он снова работает, но я должен признать, что создание нового лаунчера вряд ли стоит щедрости ... Может быть, если вы подождете несколько дней, вы все равно получите что-то лучше. Думаю, тогда я запишу это как ответ, по крайней мере, сейчас.   -  person tobias_k    schedule 19.09.2012


Ответы (1)


Хотя это не ответ на вопрос, почему программа запуска перестала работать, и не способ исправить существующую программу запуска, вы, по крайней мере, должны иметь возможность вернуться к работе, создав новую программу запуска. Для этого просто выберите Запуск от имени > Приложение Eclipse в контекстном меню проекта XText. Таким образом, Eclipse должен выполнить за вас создание и настройку средства запуска.

Убедитесь, что Eclipse действительно создает новый модуль запуска! Если Eclipse обнаружит существующую программу запуска приложений Eclipse, она может использовать ее. Вы должны хотя бы переименовать старую программу запуска, чтобы вы могли определить, какая из них используется (показано в верхней части окна консоли). Новый модуль запуска по умолчанию будет иметь имя «Приложение Eclipse». Если Eclipse по-прежнему использует старую программу запуска, вам, возможно, придется сначала удалить эту программу запуска.

Если вы хотите выяснить, что было не так со старой программой запуска, или если эта программа запуска была специально настроена и вы хотите сохранить эту конфигурацию, это может помочь: Eclipse хранит конфигурации программы запуска в каталоге .metadata/.plugins/org.eclipse.debug.core/.launches/, расположенном в рабочей области, чтобы вы могли сделайте резервную копию старой программы запуска, а затем сравните ее с новой, используя какой-нибудь инструмент для сравнения.

person tobias_k    schedule 19.09.2012