как установить и запустить OSGi bundle в apache karaf

У меня простой вопрос. Я последовал за этим учебник и создал пакет HelloWorld osgi. Как установить и запустить этот пакет с помощью apache все супер? Как я могу ссылаться на пакет с помощью команды osgi:install?

спасибо.

3 ответов


хорошо, это другой вопрос, но здесь идет:

вы в значительной степени на правильном пути, я проверил один в руководстве разработчиков Karaf, с которым вы связаны (второй вызов mvn). Документация не совсем правильная, мне нужно было изменить две вещи:

  • версия выключена, 2.2.5 работает (на моей машине), изменение его на 2.2.8, казалось, помогло.
  • имя пакета-com.mycompany.пакет. Поскольку package является ключевым словом, это не будет скомпилируйте, поэтому я изменил его на com.mycompany.пачка.

Итак, моя команда архетипа была:

mvn archetype:generate \
-DarchetypeGroupId=org.apache.karaf.archetypes \
-DarchetypeArtifactId=karaf-bundle-archetype \
-DarchetypeVersion=2.2.8 \
-DgroupId=com.mycompany \
-DartifactId=com.mycompany.bundle \
-Dversion=1.0-SNAPSHOT \
-Dpackage=com.mycompany.bundle

затем я вошел в недавно созданную папку проекта: com.mycompany.бандл:

cd com.mycompany.bundle

и установка mvn:

mvn install

затем в папке "target/" есть файл jar, который вы можете установить в установку Karaf, как я уже говорил.

создание пакета в Eclipse

  • Новый -> Плагин Проект - > выберите имя - > проверьте параметры - > вы можете использовать шаблон, если хотите.

  • выберите свой проект - > Экспорт - > плагин / фрагмент - > выберите папку

вот ваш файл jar.


вы можете просто бросить пакет в каталог "deploy", и Караф просто замечает и устанавливает его.


Я создал пакет с этим архетипом:


    mvn archetype:generate \
    -DarchetypeGroupId=org.apache.karaf.archetypes \
    -DarchetypeArtifactId=karaf-bundle-archetype \
    -DarchetypeVersion=2.2.8 \
    -DgroupId=com.mycompany \
    -DartifactId=com.mycompany.bundle \
    -Dversion=1.0-SNAPSHOT \
    -Dpackage=com.mycompany.bundle
Затем я сделал mvn eclipse:eclipse и mvn install. После копирования сгенерированной банки в каталог развертывания моего запущенного сервера JBoss Fuse он напечатал "запуск пакета". :-)