java - 在 Eclipse 中安装插件要求我重新启动 Eclipse

标签 java eclipse osgi

我正在开发 OSGi 应用程序。我在大多数地方发现 Eclipse 是基于 Equinox 的内容/引用资料,Equinox 是 OSGi 发行规范 4 的实现。OSGi 提供了一项功能,无需重新启动应用程序,您就可以激活较新版本的 bundle (即)动态。但是当我在 Eclipse 中安装插件时,它要求我重新启动 Eclipse 以激活该插件。既然OSGi技术中不需要重启,那么在eclipse中重启重启的目的是什么呢?有人可以解释这背后的原因吗?

最佳答案

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

因此 Eclipse 的某些部分在动态性方面表现不佳。这通常就是安装人员(例如)的原因。 p2,请求您在更新 bundle 集后重新启动 Eclipse。

关于java - 在 Eclipse 中安装插件要求我重新启动 Eclipse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33591924/

相关文章:

java - 如何在Java中取消鼠标点击事件

java - 为什么 eclipse 无法识别某些 javadocs 标签?

java - 为什么使用osgi?

java - 如何使用 Maven Bundle Plugin (BND) 从另一个依赖项中存在的依赖项中排除指定包?

java - 发送到 ServerHandler 外部时,客户端未收到服务器发送的消息

java - JPasswordField KeyPress 字符串长度错误?

java - 绿色机器人事件总线

eclipse - 我可以在 Eclipse "Team Synchronization"透视图中使用外部差异/合并工具吗?

eclipse - 使用 maven-scala-plugin 构建 jar

java - OSGI bundle 已激活,但使用 DS 和 Apache Karaf 时从未创建组件