2015-09-12 4 views
0

Мне действительно нужно отлаживать мой код с помощью точек останова, однако это кажется сложным делом с контейнером OSGi.Как отлаживать приложения OSGi?

У меня есть Eclipse и Felix (оба последних). Мой проект - это исходный проект OSGi, я не использую PDE, просто плагин maven bundle для создания пакетов, а затем скопируйте их в папку/bundle в felix, затем я запускаю java -jar bin/felix.jar и запускает проект. Так что не суетитесь здесь.

Однако я не могу отлаживать приложение таким образом. Я попытался прочитать документы (http://felix.apache.org/documentation/development/integrating-felix-with-eclipse.html), но они устарели/сломаны и не могут заставить их работать ...

Как я могу отладить это? Должен ли я избегать использования OSGi только потому, что отладка не поддерживается ...?

Спасибо!

ответ

3

Считаете ли вы использование средства IDE, такого как bndtools, для выполнения отладки? Вы можете создать репозиторий из папки папок и запустить их с помощью файла bndrun. Это дает вам среду отладки в Eclipse, которая звучит так, как вы хотите. The bndtools website is here.

Bndtools также делает намного больше, но это звучит так, как будто вы довольны своей существующей сборкой Maven. Учебное пособие проходит через настройку базового рабочего пространства, но главное, что вас заинтересует, - Running a framework

2

Запустите felix со следующими параметрами, чтобы включить удаленное отладки.

java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044 -jar bin/felix.jar 

После того, как вы сможете подключиться через Eclipse Remote Debugging к вашему контейнеру Felix.

  1. Run
  2. Debug Configurations
  3. Remote Application Java
  4. Выберите в качестве проекта проекта/источники, которые вы хотите отлаживать
  5. Настройка порта для 1044
  6. Trigger отладчик, нажав на отладку
Смежные вопросы