Как настроить проект BND, начиная с enRoute, для запуска на ApacheFelix и OSGI 6?

Я попытался следовать инструкциям enRoute, а затем настроить их для OSGI 6.

У меня есть топ-проект, сгенерированный как enRoute, и он имеет зависимости enRoute и плагины bnd maven. Я добавил дополнительные зависимости: osgi.core:6.0.0, org.apache.felix.gogo.runtime,shell,console

Кроме того, существует модуль Maven, созданный как enRoute Application, который использует верхний проект в качестве родительского и импортирует из него дополнительные зависимости.

После запуска пакета mvn на модуле я получаю несколько ошибок:

[ОШИБКА] Не удалось выполнить цель biz.aQute.bnd:bnd-export-maven-plugin:4.1.0: экспорт (по умолчанию) для проекта my-bundle: null: MojoExecutionException:

Перед этим NullPointer я вижу, что bnd/maven пытается собрать зависимости и находит мои вещи: example.my-project.my-module, osgi.core, org.apache.felix.framework, org.apache.felix.gogo.hell и др.

[DEBUG] my-module: добавление ресурса javax.servlet-api version=3.1.0 version=9.4.15.v20190215 [DEBUG] my-module: добавление ресурса org.apache.commons.fileupload version=1.3.3 [DEBUG] my-module: добавление ресурса org.apache.commons.io version=2.6.0 [DEBUG] my-module: добавление ресурса org.apache.felix.http.servlet-api version=1.1.2 [DEBUG] my-module: добавление ресурса org.apache.felix.framework version=6.0.2 [DEBUG] my-module: добавление ресурса example.my-project.my-module version=1.0.0.201905020747 [DEBUG] my-module: список (нулевой) [org.apache.felix.http.jetty, org.apache.felix.gogo.shell, org.apache.felix.http.servlet-api, jaxb-api, osgi.core, org.apache.felix.framework, javax.servlet-api, example.my-project.my-module, org.osgi.service.http.whiteboard, org.apache.felix.gogo.command, org.apache.felix.configadmin, org.osgi.service.log, org.apache.felix.gogo.runtime, org.apache.felix.webconsole]

Затем Maven пытается обновить runbundles с ошибкой:

[DEBUG] init [DEBUG] Строка пуста, args=C:/workspace/my-project/my-module/target/tmp/export/my-module/cnf/cache/4.1.0/bnd-cache [DEBUG] Исходные -runbundles: \ org.apache.felix.gogo.shell; версия =1.0.0,\ org.apache.felix.gogo.runtime; версия =1.0.10,\ org.apache.felix.gogo.command; версия =1.0.2,\ org.apache.felix.webconsole; версия =4.3.4,\ org.apache.felix.http.jetty; версия =4.0.6,\ org.apache.felix.http.servlet-api;version=1.1.2 [DEBUG] Разрешено -runbundles: null

Оригинал -runbundles был заполнен мной вручную, когда я пытался помочь bnd. Но BND не обновлялся новыми (фактически, он вообще не обновлялся)

  1. Это правильный способ включить новые пакеты в ваш проект? Чтобы добавить их как зависимости (и позже, плагины maven из bnd обновят мои файлы.bndrun с записями в -runbundles)?
  2. Какой плагин обновляет -runrequires в.bndrun и куда я помещаю свои записи, чтобы они читались BND?
  3. Тот же вопрос для -buildpath в.bndrun
  4. Тот же вопрос для -runfw в.bndrun

0 ответов

Другие вопросы по тегам