ApacheFelix主机公开依赖OSGi



我正在使用ApacheFelix创建一个嵌入式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("]", ""));

一切都很好,这些包都暴露了。但是,我需要捆绑包能够访问ALL主机项目声明的依赖项。例如,父应用程序已经声明了Jackson、Apache(各种)等,我需要捆绑包才能访问这些。

我试着显式地添加包,但当它们是依赖项时,这似乎不起作用。例如,在捆绑包中,我想使用Jacksons com.fasterxml.jackson.core.type.TypeReference;,所以我将com.fasterxml.jackson.core.type添加到上面的EXTRA列表中,但它似乎并不能解决问题,包仍然没有暴露出来。

在一个完美的工作中,我只想让所有的主机依赖项都可用,而不必显式地声明每一个。

您必须配置每个包。在OSGi中,您通常会将依赖项作为捆绑包安装。因此,这些设置不支持大规模导出系统包。

相关内容

  • 没有找到相关文章

最新更新