我开始进入Eclipse 4 RCP开发并且在Eclipse 3.x中工作得很好。我现在认为Eclipse 3.x实现服务的方式是通过扩展点(org.eclipse.ui.services)。但是现在在Eclipse 4上,我读到的扩展点并不像普及版那么常见。
所以我的问题是在Eclipse 4中实现服务的最佳做法是什么?
顺便提一下,OSGi服务与Eclipse平台服务之间存在差异吗?
感谢。
答案 0 :(得分:3)
如果您正在编写一个'纯'Eclipse 4(e4)应用程序(一个不使用3.x兼容性代码的应用程序),那么您就无法使用大多数org.eclipse.ui.xxx
代码。仍然使用扩展点,但很多事情都是由Eclipse上下文中设置的对象完成的,可以通过直接注入来访问。
您仍然可以通过创建component definition file
来使用声明式样式定义OSGi服务(请参阅File > New > Other > Plug-in Development > Component Definition
向导)。
对于OSGi服务,您可以选择使用ContextFunction
来延迟创建服务实例。
或者您可以简单地将服务类实例放入Eclipse上下文中 - 您通常会在@PostContextCreate
类的LifeCycle
方法中执行此操作。
这是一个相当广泛的主题,所以我只给出了一个简短的概述。