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 вы обычно устанавливаете зависимости в виде пакетов. Поэтому настройки не допускают массового экспорта системных пакетов.