java - 为什么基于OSGi模型的Eclipse安装新插件后需要重启?

标签 java eclipse plugins osgi equinox

<分区>

Eclipse 是基于 OSGi 模型设计的。 OSGi 模型声明它支持热安装和卸载 bundle 。所以我很困惑为什么Eclipse总是需要重启才能进行新的安装插件工作。是 OSGi 模型不够好还是 Eclipse 没有实现整个模型?

最佳答案

OSGi 模型运行良好,但动态并不是免费的。捆绑代码需要以能够应对来来去去的服务的方式编写。

Eclipse 有两个问题。首先,有大量不具有动态感知能力的遗留插件,它们是由坦率的平庸开发人员编写的。其次,Eclipse 一直回避 OSGi 的服务部分,而是偏爱“扩展注册表”,它具有更静态和笨拙的生命周期(实际上,可能使用扩展注册表处理动态更新,但更难比使用 OSGi 服务时)。

实际上,在许多情况下,Eclipse 可以动态处理插件的添加,这就是安装对话框为您提供执行此操作的选项的原因。但由于第三方插件的质量参差不齐,安全起见,建议重启。

关于java - 为什么基于OSGi模型的Eclipse安装新插件后需要重启?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19440674/

相关文章:

objective-c - WebView 中的插件对象被破坏?

php - Wordpress:重力形式:根据输入变化添加更多电子邮件通知

java - 用于跟踪网页浏览量(或唯一访问者)的最佳 Grails 实现?

java - 是否可以将两条线视为一条线?

java - 如何测试 byte[] 是否为 SHA512withRSA 签名?

Java:使用一个类生成另一个类的对象

java - Eclipse:main 的 ctrl+space 完成不再有效

android - 使用 Eclipse ADT 编辑 Android 布局

java - 如何在 Eclipse 集成中切换 JProfiler 启动器

ruby-on-rails - rails - 选择验证码插件