关于Manifest文件中的'singleton:= true'

时间:2010-10-22 05:50:35

标签: eclipse singleton manifest

我有一个插件,目前没有任何扩展点(也没有扩展任何其他插件)。要解决某个问题,我必须为此插件创建一个扩展点,并在其他地方创建一个适当的扩展。

执行此eclipse时,强制我在Manifest文件中设置singleton:=true。我知道必须设置此参数的原因,但我想通过引入此参数来了解产品中插件的功能是否有任何影响。

谢谢。

2 个答案:

答案 0 :(得分:4)

“singleton:= true”表示bundle只有一个版本可以存在于OSGi运行时中。

Eclipse会自动添加标记,因为您在捆绑中提供了扩展点。如果有两个版本的捆绑包提供相同的扩展点(具有相同的标识,可能是不同的属性或元素)会使事情变得混乱。

答案 1 :(得分:1)

来自Alex Blewitt博士的Book Eclipse插件开发:

条款

singleton:=true 

是OSGi指令,这意味着一次只能在Eclipse中安装此插件的一个版本。

对于将依赖项添加到UI的插件,必须将它们限制为单例。 (此限制是安装新插件要求IDE重新启动的主要原因之一。)