【问题标题】:PDE + org.osgi.framework.system.packages.extraPDE + org.osgi.framework.system.packages.extra
【发布时间】:2012-04-11 00:23:41
【问题描述】:

我需要使用 org.osgi.framework.system.packages.extra 属性在运行时添加服务接口。这些接口由 OSGi Bundles 实现。我无法编译这些 Bundle,因为 PDE 找不到所需的接口。有没有办法告诉 PDE 在哪里寻找这些接口?

编辑: 好吧,我想我必须更准确。我正在尝试将 OSGi 集成到现有的 Java 应用程序中。为了使 Java 应用程序能够与 OSGi 包通信,我将使用 OSGi 服务。 Java 应用程序定义了 OSGi 服务的接口。这些服务在任意 OSGi 包中实现。我在运行时通过 org.osgi.framework.system.packages.extra 属性向 OSGi 包提供接口定义。所以我没有运行时问题。我有一个编译时问题,因为 PDE 似乎没有 org.osgi.framework.system.packages.extra 选项用于在编译时解析依赖项。操作目标平台似乎没有帮助,因为我的接口是在 Java 项目中定义的,而不是在 Bundle 中。

【问题讨论】:

    标签: java eclipse eclipse-plugin osgi eclipse-pde


    【解决方案1】:

    在菜单 Window->Preferences->Plug-in Development->Target Platform 下,您有编译包的目标定义。包含您的接口的包需要在活动目标定义中。默认情况下,它将指向您的 Eclipse 安装文件夹并从插件文件夹中获取捆绑包,但如果您想针对特定捆绑包进行构建,您可以创建自己的目标定义。

    【讨论】:

    • 啊,我明白了。你不能把它添加到项目属性->Java 构建路径->项目选项卡中吗?
    • 是的,这是我目前的解决方案。但这不是一个好的解决方案,因为当我在清单编辑器中单击“更新类路径设置”时,我会丢失所有配置。所以我希望有一些其他的配置可能性。
    猜你喜欢
    • 1970-01-01
    • 2014-09-05
    • 1970-01-01
    • 2020-12-13
    • 2015-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多