2013-06-11 2 views
1

Я ищу способ автоматической установки нескольких пакетов в приложение OSGi, в идеале, с помощью какого-то сценария командного файла/консоли, чтобы мы могли вставлять его в наш процесс сборки.Установка пары пакетов автоматически с помощью OSGi

Идеальная ситуация позволила бы мне просто передать URL-адрес сайта обновления на консоль и загрузить его и установить, поскольку это избавит вас от необходимости устанавливать банки один за другим.

Возможно ли это? Остерегайтесь, что приложение, о котором я говорю, это не Eclipse, хотя он содержит пару плагинов Eclipse в своем каталоге пакетов. Я считаю, что этот факт вполне может означать несколько иной подход к ситуации, хотя я не совсем уверен.

В настоящее время я контролирую консоль OSGi приложения (p2), поэтому, я думаю, это будет правильный инструмент для использования, из того, что я прочитал.

Благодаря

ответ

3

Есть несколько способов, чтобы идти об этом (помимо использования p2, которые вы уже упоминаете):

  1. Используйте Apache Felix Gogo оболочка, который содержит команды для установки пакетов из URL , и создать сценарий для того, что выполняется при запуске.
  2. Используйте пакет установки файлов Apache Felix, который позволяет размещать все пакеты в папке «hot deploy» и автоматически устанавливать их.
  3. Использование Apache ACE, которое представляет собой полнофункциональное решение для обеспечения безопасности, которое позволяет вам сопоставлять артефакты с целевыми системами.
  4. Используйте функцию Bnd, чтобы создать исполняемую банку, которая встраивает как структуру OSGi, так и все пакеты и запускает их при запуске фляги.
  5. Используйте функции Apache Karaf, которые позволяют вам определить список URL-адресов в качестве функции и установить эту функцию (используя оболочку аналогично # 1).

Есть много чего сказать о каждом из них, но это самые используемые варианты, о которых я знаю.

+0

Эй. Я пытаюсь понять, существует ли принципиальная разница между «установкой пакета» и «установкой с сайта обновления». Здесь? У меня было смутное впечатление, что это действительно так. Если есть положительный ответ на вопрос, то, что я ищу, - это установить с сайта обновления, а не устанавливать отдельные пакеты. Каждый из сайтов обновлений содержит множество пакетов, и мне бы очень хотелось избежать необходимости устанавливать их индивидуально, если это возможно. –

+0

В OSGi существует только концепция «установки комплекта». Независимо от того, какой код вы используете в дополнение к этому, в конце концов, это вызов метода installBundle (..) BundleContext. –

+0

Вот что я подумал. Поэтому я предполагаю, что я забочусь о том, что это не решение OSGi, а решение Eclipse, чтобы избежать боли при установке вручную большого количества пакетов. –

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