在eclipse中安装一个插件,它要求我重新启动eclipse

时间:2015-11-08 08:03:15

标签: java eclipse osgi

我正在开发OSGi应用程序。大多数地方我发现Eclipse基于Equinox的内容/引用,这是OSGi Release规范4的实现.OSGi提供了一个功能,即无需重新启动应用程序即可激活更新版本的bundle即动态。但是当我在eclipse中安装插件时,它要求我重新启动eclipse以激活插件。由于在OSGi技术中不需要重启,在eclipse中重启的目的是什么?任何人都可以解释这背后的原因吗?

2 个答案:

答案 0 :(得分:1)

虽然OSGi完全支持动态更新,但并非所有在OSGi上运行的代码都完全支持动态更新它们的依赖项。如果一个bundle假定它发现并使用的某些服务永远不会消失,那么当提供服务的bundle停止时,该bundle将会严重失败。

因此,Eclipse的某些部分在动态方面表现不佳。这通常是安装人员的原因,例如p2,请求在更新捆绑包后重新启动Eclipse。

答案 1 :(得分:0)

Eclipse插件不仅仅是OSGi代码。还有Eclipse的“扩展点”(在“plugin.xml”中定义)。 Eclipse可能需要重新启动才能重建扩展点注册表。

我不确定,但Eclipse安装程序(称为'p2')可能还想在重启期间进行一些清理。