我有一个插件,目前没有任何扩展点(也没有扩展任何其他插件)。要解决某个问题,我必须为此插件创建一个扩展点,并在其他地方创建一个适当的扩展。
执行此eclipse时,强制我在Manifest文件中设置singleton:=true
。我知道必须设置此参数的原因,但我想通过引入此参数来了解产品中插件的功能是否有任何影响。
谢谢。
答案 0 :(得分:4)
“singleton:= true”表示bundle只有一个版本可以存在于OSGi运行时中。
Eclipse会自动添加标记,因为您在捆绑中提供了扩展点。如果有两个版本的捆绑包提供相同的扩展点(具有相同的标识,可能是不同的属性或元素)会使事情变得混乱。
答案 1 :(得分:1)
来自Alex Blewitt博士的Book Eclipse插件开发:
条款
singleton:=true
是OSGi指令,这意味着一次只能在Eclipse中安装此插件的一个版本。
对于将依赖项添加到UI的插件,必须将它们限制为单例。 (此限制是安装新插件要求IDE重新启动的主要原因之一。)