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