Запуск пакет OSGi

Я пытаюсь работать, OSGi включают в Eclipse. Это - пустой пакет, но затмение всегда отправляет мне ошибки, Там мои консольные сообщения http://pastebin.com/dqQfpQhd Что не так?

8
задан Boris Pavlović 10 August 2010 в 09:09
поделиться

4 ответа

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

Если в вашем плагине есть зависимости, проверьте, какие версии плагинов используются.

Какую версию Java вы определили в своем плагине? Является ли она выше, чем версия, которую вы используете во время выполнения?

Загружает ли ваш плагин DLL? Если да, проверьте, может ли DLL быть найдена во время выполнения.

Редактировать:

# Workbench еще не создан. # at org.eclipse.ui.PlatformUI.getWorkbench(PlatformUI.java:92) # at org.eclipse.mylyn.internal.monitor.ui.MonitorUiPlugin.start(MonitorUiPlugin.java:145)

Что вы определили в методе start активатора? Похоже, что вы используете верстак, который еще не создан.

0
ответ дан 5 December 2019 в 10:38
поделиться

Это основная проблема:

java.lang.IllegalStateException: Workbench еще не создан.

Вы используете методы / объекты из верстака или связаны с верстаком, а сам инструмент еще не был создан. Возможно, вы можете отложить активацию пакета или удалить зависимости «рабочей среды» из части активации / инициализации пакета.


Ой, вернемся к началу. Последняя строка журнала содержит «Hello World» - это ожидаемый результат от вашего пакета? Возможно, не ваш пакет вызывает ошибки и предупреждения на выходе. Я тоже вижу некоторые «мылин» и другие вещи. Если возможно, добавьте еще одну чистую установку eclipse (без дополнительных пакетов / плагинов) в вашу систему и попробуйте пакет в этой среде.


Из хорошей статьи о eclipsezone :

Обычно это происходит, когда кто-то пытается запустить Java-приложение в связке OSGi с java -classpath ..... На самом деле это означает, что плагин рабочей среды еще не запущен, и поэтому вызовы getWorkbench () завершаются ошибкой.По сути, это состояние гонки, и его можно решить, либо явно выразив зависимость от этого пакета, либо подняв этот пакет на более высокий начальный уровень , чем рабочая среда. Обычно не видно, но если и есть, то вот что происходит.

Что является суперклассом вашего собственного пакета? Потому что это может привести к зависимости от верстака.

И - как «запустить» бандл изнутри eclipse или если вы взломали его и поместили в папку плагина eclipse? Это тоже может иметь значение.

3
ответ дан 5 December 2019 в 10:38
поделиться

Попробуйте сделать это перед запуском пакета:

if(!PlatformUI.isWorkbenchRunning()) {
    PlatformUI.createAndRunWorkbench(PlatformUI.createDisplay(), new WorkbenchAdvisor() {...}); 
}
0
ответ дан 5 December 2019 в 10:38
поделиться

Ни одна из этих ошибок не имеет ничего общего с вашим пакетом. Как видно из вывода «Hello World», ваш пакет запускается нормально.

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

  1. Пожалуйста, укажите, как вы запускаете Eclipse. Вы добавили -console в файл eclipse.ini ?
  2. Возникает ли эта проблема, когда вы НЕ пытаетесь использовать собственный пакет?
  3. Как вы устанавливаете и активируете собственный пакет?
  4. Вставьте следующие файлы:
    • MANIFEST.MF из вашего собственного пакета
    • config.ini из ECLIPSE_HOME / configuration
    • eclipse.ini из ECLIPSE_HOME
2
ответ дан 5 December 2019 в 10:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: