有哪些区别?它们分别用于什么目的?
正如RCP教程所述:
插件是 Eclipse 中最小的可部署和可安装的软件组件。
每个插件都可以定义扩展点,这些扩展点定义了其他插件提供功能贡献(代码和非代码)的可能性。非代码功能贡献可以提供帮助内容等。
这种架构的基础是 Eclipse 的运行时环境 Equinox,它是 OSGI 的参考实现。有关详细信息,请参见OSGi开发 - 教程。
Eclipse 的插件概念与 OSGI 的 bundle 概念相同。一般来说,一个 OSGI bundle 等于一个插件,反之亦然。
特性教程提到:
一个特性项目基本上是插件和其他功能的列表,可以理解为逻辑上的独立单元。
Eclipse在更新管理器和构建过程中使用特性项目。您还可以为特性提供软件许可证。
最后,product是使用Eclipse平台构建的独立程序。产品可以选择性地打包并作为一个或多个功能交付,这些功能只是由Eclipse更新机制作为单个实体管理的插件分组。
因此:
插件可以分组成特征,可以打包为一个可执行单元,称为产品。
MANIFEST.MF
、plugin.xml
和build.properties.xml
中都有依赖定义选项卡?我无法理解这一点,也不能随意更改项目。 - CratylusMANIFEST.MF
将包含在运行时所需插件的“已解决”列表(请参见 help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.pde.doc.user%2Fguide%2Ftools%2Feditors%2Fmanifest_editor%2Fdependencies.htm):“您可以随时单击添加依赖项超链接,让PDE
分析您的代码并通过Require-Bundle
或Import-Package
标头在您的MANIFEST.MF
文件中生成正确的依赖关系。”因此,您不应直接修改该部分。plugin.xml
只能包含直接依赖项(与 MANIFEST.ML 中的所有依赖项相对)。 - VonCbuild.properties
中的依赖项不同,后者仅涉及编译时所需的插件,用于构建插件。 - VonC