OSGI捆绑包ServiceMix中的依赖关系管理

您好,我是ServiceMix的新手,所以我可能会问同样的问题,可能会回答,但我无法弄清楚。

我的疑问是,在ServiceMix OSGI中使用bundle时,如何管理编译时与运行时依赖关系。 这就是说,如果我正在用maven构建一个.jar可工作的(通过单元测试aleast)工件,其中所有编译时依赖关系都表示示例(camel,spring)由pom.xml依赖项处理并根据需要加载到jar中以便成功构建。 所以当我在OSGI中部署jar时,这些libs(camel,spring)已经存在于maven生成的jar中。 现在,作为OSGI捆绑包,我在运行时从容器支持相同的捆绑包(骆驼,弹簧)。

所以我很困惑我的代码选择执行所需的依赖包的方式或副本。 它是.jar中的还是 OSGI容器提供的。 尽管我知道MANIFEST文件提供了一些选项,比如导入包 ,这些有助于从容器中的其他OSGI包导入依赖项

可能是我错过了一些在这里使用OSGI的关键点,所以请纠正我,如果我在任何假设错误,并提供一些指针/建议

谢谢


看起来你正在使用maven-bundle-plugin来生成你自己的包。 在这种情况下,只要确保您的骆驼等依赖项是提供了范围而不是编译范围

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-core</artifactId>
    <scope>provided</scope>
</dependency>

这将确保您的包仅包含它所需的依赖项。

链接地址: http://www.djcxy.com/p/74759.html

上一篇: Dependency management in OSGI bundle ServiceMix

下一篇: Best way to add Third party maven dependencies in OSGi bundle