Eclipse rcp 在实现P2时构造插件和依赖库

Eclipse rcp 在实现P2时构造插件和依赖库,eclipse-rcp,p2,Eclipse Rcp,P2,我正在开发一个RCP应用程序,并且正在为它实现p2更新 我使用链接作为指南来实现p2更新 例如,我的应用程序中有3个插件A、B和C 其中插件A代表我的应用程序的核心功能。插件B是另一个必需的插件。而插件C是可选的 我已经创建了3个功能项目。其中包含插件A和依赖库 FeatureB包含插件B和相关库。而FeatureC包含插件C和相关库 在这3个插件中,有一些库是通用的,例如birt、nattable。我应该如何构建它们。目前,我正在每个功能项目中独立添加它们。构建功能项目的更好方法是什么?请指导

我正在开发一个RCP应用程序,并且正在为它实现p2更新

我使用链接作为指南来实现p2更新

例如,我的应用程序中有3个插件A、B和C

其中插件A代表我的应用程序的核心功能。插件B是另一个必需的插件。而插件C是可选的

我已经创建了3个功能项目。其中包含插件A和依赖库

FeatureB包含插件B和相关库。而FeatureC包含插件C和相关库


在这3个插件中,有一些库是通用的,例如birt、nattable。我应该如何构建它们。目前,我正在每个功能项目中独立添加它们。构建功能项目的更好方法是什么?请指导我。

当您拥有功能所需的插件的公共子集时,您可以创建另一个“需求”功能,其中包括所需的插件,然后在现有功能中需要该功能。这使您更容易随着时间的推移更改所需的插件集

这种方法的一个缺点是功能B可能不需要公共功能中的所有插件,这意味着如果您在没有功能A的情况下发布功能B,它可能会发布比您预期更多的插件

你应该考虑的另一个问题是,你将更新彼此独立的特性吗?如果您要求功能的所有版本都相同,那么拥有新的需求功能是有意义的。但是如果功能A可以升级到2.0版,而功能B保持在1.0版,那么如果您有单例插件,您将遇到资源调配冲突

还有一个想法是,由于您正在创建一个RCP,您可能只想在您的产品文件上运行,以生成一个列表IU。这将为您的RCP应用程序提供更具确定性的资源调配。如果您正在创建一个没有标准Eclipse About dialog的简单RCP,那么您甚至不需要公开特性


最后,您可以购买更新功能。在过去的5年中,我已经编写了这项技术,我可以告诉你有很多陷阱。我公司的产品使您的软件易于发布,并提供简单的更新支持。

当您拥有功能所需的通用插件子集时,您可以创建另一个“需求”功能,其中包括所需插件,然后在现有功能中需要该功能。这使您更容易随着时间的推移更改所需的插件集

这种方法的一个缺点是功能B可能不需要公共功能中的所有插件,这意味着如果您在没有功能A的情况下发布功能B,它可能会发布比您预期更多的插件

你应该考虑的另一个问题是,你将更新彼此独立的特性吗?如果您要求功能的所有版本都相同,那么拥有新的需求功能是有意义的。但是如果功能A可以升级到2.0版,而功能B保持在1.0版,那么如果您有单例插件,您将遇到资源调配冲突

还有一个想法是,由于您正在创建一个RCP,您可能只想在您的产品文件上运行,以生成一个列表IU。这将为您的RCP应用程序提供更具确定性的资源调配。如果您正在创建一个没有标准Eclipse About dialog的简单RCP,那么您甚至不需要公开特性


最后,您可以购买更新功能。在过去的5年中,我已经编写了这项技术,我可以告诉你有很多陷阱。我公司的产品,使您的软件易于发货,并包括简单的更新支持。

非常感谢Jed。。。目前我正在做POC,如果我能说服我的团队,我会期待安全的配送中心。你提供了极好的洞察力。干杯!!:)谢谢你,杰德。。。目前我正在做POC,如果我能说服我的团队,我会期待安全的配送中心。你提供了极好的洞察力。干杯!!:)