【问题标题】:What IDE setup and workflow is used for OSGi development?OSGi 开发使用什么 IDE 设置和工作流程?
【发布时间】:2010-03-16 10:38:41
【问题描述】:

我在 Eclipse RCP 中做了很多简单的 OSGi 测试项目。我的典型工作流程总是:

  • 制作 3 个不同的项目:APIproject、Clientproject 和 Serverproject
  • 编辑APIproject的MANIFEST.MF导出api包
  • 编辑Clientproject和Serverproject的MANIFEST.MF文件,添加需要的API包
  • 选择“运行方式...”>“插件框架”
  • OSGi 控制台在 Eclipse 中启动,一切正常

我还尝试使用声明式服务进行连接,这种方式也很有效。

最近我想试试 iPOJO。问题是我觉得我一直在以错误的方式进行 OSGi 开发。
难道我应该改为制作 1 个项目,使其像不涉及 OSGi 一样工作。然后,通过(例如)BNDL 工具将每个包导出到自己的包中?开发应该在普通的 Eclipse(java,而不是 RCP)或任何其他 java IDE 中完成吗?

这就是我有这些问题的原因:

  • 通常使用什么 IDE 设置来使用 iPOJO 开发 OSGi?
  • 开发 OSGi 项目(可能使用 iPOJO)时使用的正常工作流程是什么?

【问题讨论】:

    标签: eclipse ide workflow osgi eclipse-rcp


    【解决方案1】:

    通常当我开发 OSGi 包(不是 Eclipse RCP 包)时,我使用以下工具:

    • Maven 2 作为构建系统。
    • Apache Felix maven-bundle-plugin 自动生成 MANIFEST.MF。
    • Pax 考试可创建在 OSGi 容器中运行的集成测试。
    • Pax Runner 在任何 OSGi 框架(Equinox、felix 等)中执行我的包。
    • IntelliJ(或有时是 Eclipse)作为标准 IDE,没有任何 OSGi 额外功能。

    我还没有开发任何 Eclipse RPC 包,但是有一个用于 Maven 6 Eclipse RPC 构建集成的新工具,称为 Tycho (http://tycho.sonatype.org)。

    【讨论】:

    • 没错,以上所有工作都非常好。请注意,随着依赖关系图变大,您必须了解 Maven 如何解决同一工件的冲突版本。 Maven 具有依赖解析逻辑,它将解析为多个版本中的一个版本,对最高项目、最依赖的项目有效。在具有多个版本的工件的主要版本号存在差距的情况下,这将成为一个问题。它可以通过以下方式克服:分离最不重要的版本图,独立项目并将其输出覆盖在更重要的图的输出上
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-16
    • 2015-06-23
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 2010-12-05
    • 1970-01-01
    相关资源
    最近更新 更多