Apache Felix Host выставляет зависимости OSGi

Я использую Apache Felix для создания встроенного хост-приложения OSGi. Я использую следующий код для предоставления пакетов, которые я хочу представить:

List<String> extra = new ArrayList<>();
extra.add("some.example.packag.to.expose.1");
extra.add("some.example.packag.to.expose.2");
extra.add("some.example.packag.to.expose.3");
config.put(Constants.FRAMEWORK_SYSTEMPACKAGES_EXTRA, extra.toString().replace("[","").replace("]", ""));

Все отлично работает, и эти пакеты выставлены. Однако мне нужно, чтобы пакеты имели доступ ко ВСЕМ объявленным зависимостям проекта хоста. Так, например, в родительском приложении объявлены Jackson, Apache (различные) и т. Д., И мне нужны пакеты, чтобы иметь к ним доступ.

Я попытался добавить пакеты явно, но, похоже, это не помогает, когда они являются зависимостями. Так, например, в комплекте я хочу использовать Jacksons com.fasterxml.jackson.core.type.TypeReference; поэтому я добавил com.fasterxml.jackson.core.type к приведенному выше ДОПОЛНИТЕЛЬНОМУ списку, но, похоже, это не решает проблему, пакет все еще не раскрывается

В идеальной работе я просто хочу сделать ВСЕ зависимости хоста доступными без необходимости явно указывать каждую из них.

1 ответ

Решение

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

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