我最近学到了the import section from feature.xml is legacy,并且实际的依赖项工作被委托给p2
引擎,该引擎使用插件清单中的信息。
我不确定p2
是否适用于所有最新版本的Eclipse或基于所有基于Eclipse的产品,因此我不确定删除import
部分是否安全来自feature.xml
。
在什么情况下从import
删除feature.xml
部分是否安全?假设我们正在考虑Eclipse 3.4或更新版本。
答案 0 :(得分:1)
P2是在Eclipse 3.4版本中引入的。该版本中存在相当多的问题,因此有一种方法可以将Eclipse安装恢复为使用旧版Update Manager。从3.5版本开始,p2非常稳定,与旧版Update Manager相比有了明显的改进。我不确定是否可以恢复到3.5或更高版本的Update Manager。我当然没有听说有人这样做过。
P2出现在从3.4版本开始的所有Eclipse软件包中。
我不会将功能导入归类为已弃用的功能。当你没有直接的OSGi依赖时,你仍然希望用它来插入插件。
考虑您正在构建JDT扩展的情况。假设您只依赖于JDT核心API(没有UI扩展)。如果您只依赖OSGi依赖项,那么在安装插件时,p2将尽职尽责地安装JDT核心软件包,而不是UI软件包。从OSGi的角度来看非常好,但可能不是你想要的。
我建议坚持使用功能导入来描述您的高级依赖项,以确保它们已完整安装。仅依赖于OSGi依赖项最适合自由浮动的bundle,这些bundle不属于应该作为一个整体安装的更大的东西。