Eclipse RCP中的插件,功能和产品之间有什么区别?


Answers:


117

作为RCP教程的详细信息

插件是Eclipse中最小的可部署和安装的软件组件。

每个插件可以定义扩展点,这些扩展点定义其他插件对功能性贡献(代码和非代码)的可能性。非代码功能性贡献可以例如提供帮助内容。

这种体系结构的基础是Eclipse的运行时环境Equinox,它是OSGI的参考实现。有关详细信息,请参见OSGi开发-教程
Eclipse的Plugin概念与OSGI的bundle概念相同。一般来说,OSGI捆绑等于插件,反之亦然。

第一个rcp


功能教程提到

功能项目基本上是插件和其他功能列表,可以理解为一个逻辑上独立的单元

Eclipse将要素项目用于更新管理器和构建过程。您还可以提供具有功能的软件许可证

新功能


最后,产品是使用Eclipse平台构建的独立程序。可以选择将产品打包并作为一个或多个功能部件交付,这些功能部件是由Eclipse更新机制作为单个实体管理的插件的简单分组。

产品定义文件显示“概览”选项卡


所以:

插件可以分组为功能,可以打包为一个称为product的可执行单元


4
这是一个相当古老的答案,但无论如何:我明白你在说什么,但什么之间的差别Dependencies的选项卡Feature项目和Dependencies的标签Plugin.xmlDependencies的标签Product是否可以解释?
Cratylus 2012年

2
@ user384706基本上,的Dependencies选项卡Product允许您列出功能(一组插件)以及产品所需的插件(help.eclipse.org/indigo/…:““依赖项”页面列出了所有必需的功能和插件)必须在产品的更新管理器安装此功能之前,如果有任何先决条件的缺失,该功能将不会被安装”了。Dependencies该选项卡Plugin.xml只列出了其他插件需要。
VonC

2
谢谢你,为什么会出现在依赖关系定义标签!MANIFEST.MF 并且plugin.xml build.properties.xml中的相同的插件,我不能换我的头周围这并随意变更项目?
克拉底鲁

1
@ user384706MANIFEST.MF在运行时包含所需插件的“已解决”列表(请参阅help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.pde.doc.user%2Fguide%2Ftools%2Feditors%2Fmanifest_editor% 2Fdependencies.htm):“您随时可以单击添加依赖项超链接来PDE分析您的代码,并MANIFEST.MF通过Require-BundleImport-Package标头在文件中生成正确的依赖项。” 因此,您不应直接修改该部分。在plugin.xml只能包含直接依赖关系(而不是所有的DEP在MANIFEST.ML)
VonC

@ user384706这与中的依赖项不同build.properties,后者仅涉及编译时所需的插件,用于构建插件。
VonC 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.