Eclipse plugin 无法从片段提供扩展

Eclipse plugin 无法从片段提供扩展,eclipse-plugin,fragment,eclipse-kepler,Eclipse Plugin,Fragment,Eclipse Kepler,我正在Eclipse4.3(开普勒)上开发一组插件和片段,但使用的是3.x模型 一个插件包含应用程序模型的一部分,并具有一个片段,该片段提供一些模型编辑器。(这对我来说似乎是对的——如果不必要的复杂,请告诉我) 在主应用程序中,这些编辑器贡献未列出。我将该片段更改为插件,编辑器变得可见 我可以将片段更改为插件,但这意味着我必须公开更多的模型 我可以将片段移动到主机插件,但这意味着混合了模型和视图(可能没什么大不了的) 一般来说,从一个片段中贡献是不可能的,还是我做错了什么 以下是片段: 进

我正在Eclipse4.3(开普勒)上开发一组插件和片段,但使用的是3.x模型

一个插件包含应用程序模型的一部分,并具有一个片段,该片段提供一些模型编辑器。(这对我来说似乎是对的——如果不必要的复杂,请告诉我)

在主应用程序中,这些编辑器贡献未列出。我将该片段更改为插件,编辑器变得可见

我可以将片段更改为插件,但这意味着我必须公开更多的模型

我可以将片段移动到主机插件,但这意味着混合了模型和视图(可能没什么大不了的)

一般来说,从一个片段中贡献是不可能的,还是我做错了什么

以下是片段:


进一步信息

插件层次结构如下所示:(p=plugin,F=fragment)


com.acme.atf.app
中的操作试图加载一个编辑器(该编辑器恰好位于
device.ui
中),但找不到该编辑器。如果我将
device.ui
更改为插件,那么编辑器就会被找到。

刚刚设法解决了Eclipse4.4.1中非常类似的问题。不幸的是,解决方案是使用干净的工作区(我已经从Git导入了我的项目)。 在此之前,我尝试“玩”主机和片段的版本号、单例标志、重新创建片段项目、清理所有项目和配置我的RCP应用程序。另外,我使用OSGI控制台试图获取一些附加信息,但它只报告:

  • 主机插件org.aaa.bbb处于活动状态(没有片段)
  • 碎片包处于已安装状态(报告“未解决的需求:碎片主机:org.aaa.bbb”)

我认为这是一个bug,垃圾工作区(启动)配置可能是原因。希望这对其他人有所帮助。

在片段中提供扩展没有问题。我刚刚测试了一个与您的示例类似的编辑器,效果很好。@greg-449-谢谢!您是否尝试将其作为3.x兼容的RCP应用程序?不知道为什么它对我不起作用…它必须是3.x,因为e4没有编辑器!我在一个完整的Eclipse RCP中使用插件进行了测试,因为我没有合适的RCP进行测试。“未显示”是什么意思?@greg-449-我试图通过id打开编辑器-未找到。我列出了所有贡献的编辑器,而片段中的编辑器没有列出
Platform.getExtensionRegistry().getExtensionPoint(“org.eclipse.ui.editors”).getExtensions()
片段在
manifest.mf
中是否有
片段主机
?片段的父插件是否声明为singleton?
com.acme.atf.app (P)
com.acme.atf.device (P)
com.acme.atf.device.help (F)
com.acme.atf.device.ui (F)
com.acme.atf.model (P)
com.acme.atf.core.ui (P)