无法从片段中提供扩展

时间:2013-12-04 09:28:53

标签: eclipse-plugin fragment eclipse-kepler

我正在使用ex 4.3(Kepler)处理一组插件和片段,但使用的是3.x模型。

一个插件包含应用程序模型的一部分,并且有一个片段,它提供了一些模型编辑器。 (这似乎对我来说 - 告诉我它是否不必要地复杂化)

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

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

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

通常不可能从片段中做出贡献或者我做错了吗?

这是片段:

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<fragment>
   <extension
         point="org.eclipse.ui.editors">
      <editor
            class="com.acme.atf.device.ui.editors.NullConfigEditor"
            default="false"
            id="827299e9-6039-4a76-bfa6-08ef2d7f8724"
            name="VariableEditor">
      </editor>
      <editor
            class="com.acme.atf.device.ui.editors.SerialConfigEditor"
            default="false"
            id="cbaba4b2-8380-4ae5-9896-542cf97ca8cc"
            name="SerialEditor">
      </editor>
   </extension>

更多信息

插件层次结构如下所示:(P =插件,F =片段)

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)

com.acme.atf.app中的某个操作尝试加载无法找到的编辑器(恰好位于device.ui中)。如果我将device.ui更改为插件,则会找到编辑器。

1 个答案:

答案 0 :(得分:0)

使用Eclipse 4.4.1解决了非常类似的问题。不幸的是,解决方案是使用干净的工作空间(我从Git导入了我的项目)。 在那之前,我尝试了#34;玩&#34;使用主机和片段的版本号,单例标记,重新创建片段项目,清理所有项目和我的RCP应用程序的配置。此外,我使用OSGI控制台试图获得一些额外的信息,但它只报告:

  • 主机插件org.aaa.bbb处于ACTIVE状态(没有片段)
  • Fragment bundle处于INSTALLED状态(报告&#34;未解决的要求:Fragment-Host:org.aaa.bbb&#34;)

我认为这是一个错误,并且可能是配置工作空间(启动)配置。希望这有助于某人。