【问题标题】:Export OSGI-Application from Eclipse从 Eclipse 导出 OSGI 应用程序
【发布时间】:2011-01-14 14:52:48
【问题描述】:

我使用 Eclipse 开发了一个 osgi 应用程序(无 rcp)。它由 Eclipse 插件文件夹(commons.* ...)中的几个 Plugin-Projects-Bundles 和依赖项组成

应用程序在使用 eclipse 启动时运行良好。

从 Eclipse 导出和部署此类应用程序的最佳方法是什么?有没有简单的方法来导出我的启动配置?

我发现的都是 rcp 项目。

【问题讨论】:

    标签: java eclipse export osgi deployment


    【解决方案1】:

    -> 在 Eclipse 中创建功能项目


    -> 打开已创建项目的 feature.xml 文件。
    -> 在“Included Plug-ins”下添加所有需要的插件和依赖项

    -> 确保您已添加所有依赖于 OSGI 的“插件”
    这是我正在使用的插件列表

    -> 现在创建 OSGI 运行配置

    -> 在“Bundles”下,选择您的功能项目。

    现在所有插件都可以从你的 feature.xml 的 Overview 选项卡中导出

    【讨论】:

      【解决方案2】:

      PDE 生成的配置比从头开始编写 Equinox 配置要容易得多。在您正在运行的基于 Eclipse 的 OSGi 环境中,键入 bundles。您将看到 Equinox 将所有运行时捆绑包放在哪里以进行启动。其中应该有一个 PDE 为启动生成的 config.ini。在我的情况下,它是 [workspace root]/.metadata/.plugins/org.eclipse.pde.core/[My Launch Config Name]/config.ini。

      【讨论】:

      • eclipse生成的配置指向eclipse项目。当您导出 osgi 包时,它会生成 jars。所以生成的配置不能原封不动地使用。
      【解决方案3】:

      查看新的 OSGi 和 Equinox 书籍中关于打包 OSGi/Equinox 应用程序的第 9 章。它现在可用于粗剪:http://my.safaribooksonline.com/9780321561510。它应该可以在 3 月份由 EclipseCon 购买。

      【讨论】:

        【解决方案4】:

        创建一个 OSGi 包本身并不构成一个完整的应用程序。 OSGi 包需要一个容器,并且它的容器负责管理包的生命周期:加载包、解析依赖项、调用包的激活器等。有几个可用的 OSGi 容器,例如 Knopflerfish (http://www.knopflerfish.org/)、Felix (@ 987654322@) 和 Equinox (http://www.eclipse.org/equinox/)。在内部,Eclipse 使用 Equinox。

        部署使用 OSGi 的应用程序需要配置容器,而执行此操作的确切机制取决于所选容器。如果您希望继续使用 Equinox,请查看此快速入门指南,了解如何在 Eclipse 之外配置和启动容器 (http://www.eclipse.org/equinox/documents/quickstart.php)。

        【讨论】:

        • 我只是希望有类似“产品配置”之类的东西——用于 OSGI 而不是 RCP 的项目。 Felix 不是一个选项,因为它目前有一个错误会阻止某些包工作,所以我会坚持使用 equinox。我只是不让春分工作。因为 Eclipse 会启动应用程序,所以可能会导出一些启动配置...
        【解决方案5】:

        您需要做的就是通过 PDE(插件编辑器)虔诚地填写您的 Manifest.MF,您必须

        1. 在 PDE 的 Dependecies 选项卡中添加适当的插件依赖项
        2. Runtime选项卡中填写Classpath和Exported Packages
        3. 最重要的是,确保在 Build 选项卡中检查了要导出的所需资源。

        注意第3点非常重要,这是大多数人犯错误的地方,想知道为什么项目在Eclipse中运行良好,但导出时却没有运行。

        右键单击您的 项目->导出->插件-开发->可部署 插件和片段

        【讨论】:

        • 这几乎是我想要的,但缺少启动器和配置。
        猜你喜欢
        • 2011-07-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-14
        • 2019-09-20
        • 2015-03-17
        • 1970-01-01
        相关资源
        最近更新 更多