Я создаю несколько модулей, которые я хочу представить в виде пакетов OSGi без каких-либо фактических зависимостей от библиотек OSGi. Казалось бы, это возможно с помощью параметра декларативных услуг.Использование встроенного контейнера OSGi
Однако, поскольку я довольно новичок в OSGi (по крайней мере, на стороне создания пакета), я хочу проверить, все ли работает так, как должно, для этого я хочу настроить небольшую встроенную среду OSGi.
В настоящее время у меня есть единственный пакет, который экспортирует API, а также обеспечивает реализацию заглушки одного интерфейса.
Я следовал за следующие обучающие программы, чтобы создать среду:
- http://felix.apache.org/site/apache-felix-framework-launching-and-embedding.html
- How to start and use Apache Felix from code?
И внедренный реализация Феликсом, кажется, работает правильно, однако есть две проблемы:
Bundle bundle = felix.getBundleContext().installBundle("/path/to/bundle.jar")
bundle.start();
System.out.println(bundle.getRegisteredServices());
Это печатает null
, поэтому, хотя пакет, похоже, начал нормально, он, похоже, не раскрывает никаких сервисов.
Во-вторых, мне интересно, нужно ли мне что-то делать, чтобы запустить и запустить декларативные сервисы. Мой зависимости Maven являются:
<dependencies>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.framework</artifactId>
<version>4.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.scr</artifactId>
<version>1.6.2</version>
</dependency>
</dependencies>
на основе электронной почты нити здесь: http://mail-archives.apache.org/mod_mbox/felix-users/201111.mbox/%[email protected]%3E
Я пытался добавить узелок свойств запуска Феликса
map.put(Constants.FRAMEWORK_SYSTEMPACKAGES_EXTRA, "org.apache.felix.scr; version=1.6.2");
Однако это кажется немного оптимистично на первый взгляд. Как включить декларативные службы для встроенного движка felix?
Hi @nablex. У меня есть аналогичный вопрос [** ЗДЕСЬ: ** Apache Maven Assembly Plugin не работает с пакетами OSGi] (http://stackoverflow.com/questions/34886012/apache-maven-assembly-plugin-not-working-with-osgi) и надеялся, что вы можете взглянуть и посмотреть, сможете ли вы помочь. Я действительно застрял и очень ценю любую помощь, которую вы могли бы предложить. Заранее спасибо. –