【问题标题】:guice-assistedinject.jar in Eclipse target platform but not addable in plug-in's dependenciesEclipse 目标平台中的 guice-assistedinject.jar 但不可添加到插件的依赖项中
【发布时间】:2014-04-25 11:30:29
【问题描述】:

我正在使用 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 文件编辑器的“内容”选项卡中,Eclipse 正确地向我显示了来自 guice-assistedinject.jar 的片段包 com.google.inject.assistinject 3.0,但我无法将此包或此包的导出包添加到我正在开发的插件项目。

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

【问题讨论】:

  • 因为这是解决方案,所以在提问之前您实际上并没有尝试“添加(...)此捆绑包的导出包”,对吗?如果您从问题中删除此详细信息,问答会更有意义。

标签: eclipse-plugin manifest guice target-platform assisted-inject


【解决方案1】:

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

好的,找到了解决方案:这是一个 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-18
    • 2013-03-23
    • 1970-01-01
    • 2012-01-20
    • 2012-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-11
    相关资源
    最近更新 更多