2010-08-10 5 views

ответ

6

Проблема заключается в том, что цель по умолчанию включает в себя множество пакеты, которые не имеют ничего общего с вашим пакетом - введите команду ss, когда все сообщения об ошибках завершены, перечислит их.

Вот что вы делаете:

  1. В Eclipse, выберите Настройки> Разработка подключаемых модулей> Целевая платформа
  2. Создайте новый пустой определение цели
  3. На вкладке Расположения добавить каталог, содержащий ничего, кроме пакета Equinox (который вы можете скопировать из каталога плагинов вашей установки Eclipse, jar называется чем-то вроде org.eclipse.osgi_3.7.0.v20110613.jar)
  4. Убедитесь, что новая цель активна и попробуйте запустить ваш комплект снова
0

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

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

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

Является ли ваш плагин под заказ DLL? если да, проверьте, можно ли найти DLL во время выполнения.

Edit:

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

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

+0

Это абсолютно пустой плагин –

+0

Это мой активатор http://pastebin.com/6S8a8hnr –

3

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

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

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


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


Из а good article on eclipsezone:

Это обычно происходит, когда кто-то пытается запустить приложение Java против OSGi расслоения с Java -classpath ..... Это действительно означает, что плагин Workbench еще не запущен, поэтому вызовы getWorkbench() терпят неудачу. Это, по сути, условие гонки, и его можно решить, либо выражая явную зависимость от этого пучка, либо набирая этот пакет до higher start level, чем рабочий стол. Вообще не видно, но если это так, это то, что происходит.

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

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

+0

Знаете ли Вы, как ее решить? –

+0

Да, 'Hello World, он выводится из моего байда. Я загрузил новый Eclipse - это те же ошибки :( –

0

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

if(!PlatformUI.isWorkbenchRunning()) { 
    PlatformUI.createAndRunWorkbench(PlatformUI.createDisplay(), new WorkbenchAdvisor() {...}); 
} 
2

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

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

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

Я много боролся за «Инструментальная панель еще не создана» полный день.

Но я получил решение с помощью следующих стадий .-

  1. Перейти к конфигурации Run -> Удалить все банки целевой платформы.
  2. Нажмите, чтобы добавить необходимые пакеты.
  3. Проверьте org.apache.felix.gogo.runtime, org.apache.felix.gogo.shell, org.eclipse.eqinox.console, org.eclipse.osgi и ваш файл jar.
  4. Последний и важный шаг. Перейдите к Setting->check checkbox of «Очистить конфигурационную зону до запуска».
  5. Запустите приложение OSGi.
  6. Наслаждайтесь, если это сработает для вас, поскольку это сработало для меня.

Благодаря

+0

где «добавить необходимые пакеты»? – Anthony

Смежные вопросы