我应该使用目标平台 OSGi 还是不使用它来创建 eclipse 插件?
来自 Eclipse 帮助
“如果您不打算使用 Eclipse 扩展注册表,那么您应该使用 OSGi 框架选项。如果您选择 OSGi 框架选项,您最终不会依赖于运行时层。此外,PDE 将限制可用模板以及为您生成的代码到 OSGi 层。”
当我选择 OSGi 时我不能做什么?当它的插件功能不那么强大时,我为什么要选择 OSGi?
我应该使用目标平台 OSGi 还是不使用它来创建 eclipse 插件?
来自 Eclipse 帮助
“如果您不打算使用 Eclipse 扩展注册表,那么您应该使用 OSGi 框架选项。如果您选择 OSGi 框架选项,您最终不会依赖于运行时层。此外,PDE 将限制可用模板以及为您生成的代码到 OSGi 层。”
当我选择 OSGi 时我不能做什么?当它的插件功能不那么强大时,我为什么要选择 OSGi?
此设置仅调整即将创建的插件的依赖关系。您可以创建一个简单的包并将依赖项添加到 Eclipse 基础设施包中 - 您会手动管理版本化的依赖项吗?
此外,根据此设置,向导将提供基于所选 Eclipse 版本的模板创建项目脚手架;fe 帮助、首选项、UI 贡献,以及您安装的任何其他具有适用的注册模板的内容。
本质上,如果你的插件只会在 eclipse 中使用,你不需要考虑,只需设置所需的 Eclipse 版本即可。如果您的插件也应该在其他 OSGi 框架中使用,那么只有这样才需要做出任何决定。
我们处理几乎所有情况的简单经验法则是,如果它不提供任何 UI 功能,那么它就是一个 OSGI 包。在这种情况下,没有使用任何 SWT 特定的库和框架。
你问“当我选择 OSGi 时我不能做什么?为什么我会选择 OSGi,因为它的插件功能不那么强大?”,所以我会问“你是在写插件还是 OSGi 包”?
它们不是同一件事。插件是一个捆绑包,添加了 UI 扩展。这不是因为它(OSGi 项目)功能不那么强大,它根本不提供编写 UI 所需的额外功能,因为这不是 OSGi 的一部分。因此,如果您正在编写一个纯 OSGi 包,则创建一个 OSGi 项目,而不需要额外的依赖项和工件。如果您正在编写 UI,那么它应该是一个插件项目。