osgi - 如何在 OSGi 容器中的包之间共享非 OSGi 库?

标签 osgi

我在 trying to share the Struts packages 时遇到了这个问题在 OSGi 容器内的多个包之间。我想避免在包内重复依赖项并在它们之间引入新的依赖项(通过让一个包导出其内部依赖项供另一个共享)。

事实证明,如果您碰巧使用 Maven,答案非常简单,如果您没有使用,您仍然可以使用 Maven 解决方案来学习如何使用其他机制创建相同的结果。

我发现这种方法在我的项目中多次有用,因此我将在此处发布一个示例。

最佳答案

对于那些不太热衷于 maven、无法移植或对 ant/ivy 非常满意的人的另一条途径

我发现完成所述任务的最简单方法是通过让 list 导出每个包并添加一些适当的符号名称/版本,将非 OSGi 库转换为 OSGi 库。我已经能够使用 bnd 非常轻松地做到这一点通过 ant 任务(甚至直接命令行调用)。还有repositories其中包含许多流行库的“osgi-ified”版本。一些库(joda-time)已经带有正确的 OSGi list 。

关于osgi - 如何在 OSGi 容器中的包之间共享非 OSGi 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1235129/

相关文章:

OSGi 上下文中的 Scala-cat 的 IOApp

java - 尝试在 virgo tomcat 中配置自定义 session 管理器时获取 ClassNotFoundException

tomcat - ApacheFOP Tomcat/OSGI 错误 : java. lang.IllegalArgumentException:未知函数:gatherContextInfo - 使用图像创建 PDF 时

eclipse - 管理团队 bundle

java - 适用于初学者的OSGi教程,具有最新的工具版本

java - 需要帮助将脚本引擎加载到 Karaf 中

java - 使用geojson库时如何修复 "the-default-package-is-not-permitted-by-the-import-package-syntax"错误?

osgi - 安装捆绑功能时 Servicemix 卡住

java - 从 maven 切换到 gradle 来管理一个 osgi 大项目(>200 包)

jar - 使用 maven-bundle-plugin 在 JAR 中嵌入依赖项不起作用