【问题标题】:What is the difference between 'Included Features' and 'Dependencies'?“包含的功能”和“依赖项”有什么区别?
【发布时间】:2016-02-04 15:46:17
【问题描述】:

在定义 OSGi/Eclipse RCP 功能时,我可以定义 Included Plug-ins、Included Features 和 Dependencies。

我想知道这些东西之间的真正区别是什么,Eclipse RCP 运行时究竟将如何处理这些不同的信息?

【问题讨论】:

    标签: eclipse-plugin osgi eclipse-rcp


    【解决方案1】:

    “包含插件”是属于此功能的插件。它们将包含在 RCP 构建中。

    “包含的功能”是在您包含此功能时将包含在 RCP 构建中的其他功能。大型 RCP(如 Eclipse)的每个组件都拥有一个包含组件特性在内的顶级特性的特性是很常见的。

    “依赖项”是您所说的功能所依赖的其他插件和功能。这主要用于您导出为“可部署功能”而不是 RCP 构建的功能。安装此功能时,功能安装将检查依赖项是否已安装。

    【讨论】:

    • 总是在我的所有功能中定义我的依赖关系是否有意义,尤其是所有 org.eclipse.* 核心功能?如果两个功能“包含”相同的其他功能,会发生什么?我猜它们不会被添加两次?
    • "Would it make [...]" - 是的,如果您正在执行“可部署功能”,所有依赖项都应该存在。这个想法是 feature.xml 具有所有依赖项,因此在有人安装您的功能后它无需额外工作即可工作,安装程序将确保安装所有依赖功能。也就是说,如果您正在创建一个独立的 RCP 应用程序而不是让 p2 站点安装在第三方 eclipse 安装中,您可能不必担心依赖关系。
    • 如果功能中包含的所有插件及其包含的功能都已经定义了它们的依赖关系,我为什么还要在功能中定义任何依赖项?那么,如果我可以(并且应该)已经在插件中定义了所有依赖项,为什么还需要功能依赖项?
    • 你把你的插件和功能放在功能包括。您将已经期望安装的插件和特性(例如核心 Eclipse)放入特性依赖项中。 RCP 构建器不会查看插件清单中的依赖项。
    【解决方案2】:

    除了greg-449的回答:

    Eclipse ECP 运行时究竟将如何处理这些不同的信息?

    运行时不会真正对功能内容做任何事情,除非您正在安装/更新功能。 feature.xml 是一个构建/安装/更新“事物”,描述了包含和依赖关系。

    换句话说,如果你创建一个独立的产品,你不需要任何 feature.xmls 来让你的产品正常工作。在.product文件中,列出包含的插件(在Overview选项卡中将产品配置基于设置为插件

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-09
      • 2015-11-11
      • 2015-11-13
      • 1970-01-01
      • 2012-06-30
      • 2020-08-31
      • 1970-01-01
      • 2016-03-24
      相关资源
      最近更新 更多