0

我正在使用Eclipse 4.4 Luna M5开发一个Eclipse RCP应用程序,并且我正在使用Guice 3.0。 因此,我将 guice.jar 添加到了我的目标平台,并且对于我正在开发的每个插件,我都可以使用 Eclipse 的插件清单编辑器将 bundle com.google.inject 添加到插件的依赖项中。到目前为止,一切正常。

现在的问题是:我想使用 guice 辅助注入 ( @Assisted)。

所以我将 guice-assistedinject.jar 添加到我的目标平台。(我使用的是 .target 文件 = Eclipse Target 定义文件)。

然后在 .target 文件编辑器的“内容”选项卡中,Eclipse 正确地显示了com.google.inject.assistinject来自 guice-assistedinject.jar 的片段包 3.0,但我无法将此包或此包的导出包添加到插件项目的依赖项中正在发展。

当我在插件清单编辑器中按“添加”时,com.google.inject.assistedinject是不是在可添加依赖项列表中?怎么了?

4

1 回答 1

0

这里我的评论再次作为答案:

好的,找到了解决方案:这是一个 PDE 问题,请参阅Eclipse OSGi bundle 中接受的答案 reqiure another bundle's fragment

如上面链接中所述,在目标平台中更改我的 guice-3.0.jar 的清单后,我需要执行以下操作:

  1. 重新加载目标平台(Windows -> Preferences -> Plug-in development -> Target platform)并重启eclipse。
  2. 从我的插件所需的捆绑包中删除捆绑包 com.google.inject。
  3. 将所有需要的 com.google.inject 包添加到我的插件的“导入包”中。现在在包列表中我可以看到 com.google.inject.assistedinject.Assisted 并导入它!
于 2014-03-20T08:52:33.010 回答