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