我正在开发一个RCP应用程序,我也正在为它实现p2更新。
我使用this链接作为指导来实施p2更新。
例如,我的应用程序中有3个插件A,B和C.
其中插件A代表我的应用程序的核心功能。插件B是一个更强制插件。虽然插件C是可选的。
我创建了3个功能项目。其中FeatureA包含插件A和依赖库。
FeatureB包含插件B和依赖库。虽然FeatureC包含插件C和依赖库。
这些插件中有一些共同的库,例如: birt,nattable。我应该如何构建它们。目前我正在独立地在每个功能项目中添加它们。构建要素项目的更好方法是什么?请指导我。
答案 0 :(得分:1)
如果您拥有功能所需的公共插件子集,则可以创建另一个“要求”功能,其中包含所需的插件,然后在现有功能中需要该功能。这使您可以更轻松地随着时间的推移更改所需的插件集。
这种方法的一个缺点是功能B可能不需要来自公共功能的所有插件,这意味着如果您发送没有功能A的功能B,它可能会发送比您想要的更多的插件。
您应该考虑的另一个项目是您是否会相互更新功能?如果您要求所有版本的功能都相同,那么使用新的“要求”功能是有意义的。但是,如果功能A可以升级到2.0版,而功能B保持在1.0,那么如果你有单例插件,你将遇到配置冲突。
还有一个想法是,由于您正在创建RCP,因此您可能只想在产品文件上运行p2 publisher以生成阵容IU。这可以为您的RCP应用程序提供更加确定的配置。如果您正在创建一个没有标准Eclipse About对话框的简单RCP,那么您甚至不需要公开功能。
最后,您可以购买更新功能。在过去的5年里写完这项技术后,我可以告诉你有许多陷阱。我公司的产品Secure Delivery Center使您可以轻松发送软件,并提供简单的更新支持。