【问题标题】:OSGi bundle shared jar dependencyOSGi 捆绑共享 jar 依赖项
【发布时间】:2013-11-02 15:18:00
【问题描述】:

我有一个遗留的 Swing 应用程序,需要使用 JavaFX 功能进行扩展。我一直在考虑使用 OSGi 来执行此操作(目前正在查看 Equinox)。

现有的遗留应用程序依赖于 jar 文件 main.jar。这个 jar 包含我为扩展功能而创建的任何包所需的接口,例如添加新面板、菜单等。

遗留应用程序在完成其摆动任务后启动 OSGi 框架,在 main.jar 中注册实现接口的服务,并安装任何包。

我已尝试将此 jar 放入捆绑包中,并且编译正常,但在从 OSGi 注册表检索服务时出现 ClassCastException。

我不确定如何配置框架/包,以便旧应用程序和 osgi 包都可以使用 main.jar?

【问题讨论】:

    标签: dependencies osgi bundle


    【解决方案1】:

    您需要使用 OSGi 框架的系统包导出来公开需要共享的包。您可以通过传递属性 org.osgi.framework.system.packages.extra 来做到这一点。

    我前段时间写了一篇关于嵌入 OSGi 的blog post,它涵盖了诸如在内部 OSGi 包和外部 Java 应用程序之间共享包和服务等方面。

    【讨论】:

    • 谢谢!不敢相信我错过了
    猜你喜欢
    • 2015-10-04
    • 2015-03-12
    • 2012-11-01
    • 2015-12-14
    • 2017-09-10
    • 2016-08-13
    • 2014-11-20
    • 2022-01-23
    • 2019-09-28
    相关资源
    最近更新 更多