Eclipse OSGi 包需要另一个包的片段
这可能是一个简单的问题,但让我困惑了一段时间。
我正在开发一个依赖 google guice 的 OSGi 包。 Google guice 有一个主包和几个片段,例如辅助注入片段。 在我的包中,我使用了辅助注入片段和从该片段导出的类。
然而,在 Eclipse 中,我只能设置对另一个捆绑包(在本例中为 guice 捆绑包)的捆绑包依赖项,而不能直接在片段上设置捆绑包依赖项(辅助注入),因此 Eclipse 抱怨无法找到从片段导出的类。
我如何才能依赖于捆绑包的片段?
This might be simple question but have confused me for sometime.
I'm developing an OSGi bundle which rely on google guice. Google guice has one main bundle and several fragment like assisted inject fragment.
In my bundle I have used the assisted inject fragment and a class that is exported from that fragment.
However in Eclipse, I can only set bundle dependency on another bundel (in this case, the guice bundle) but not directly on a fragment (assisted inject), hence Eclipse complains cannot find the class exported from the fragment.
How can I have the dependency on a bundle's fragment?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对片段的导出包使用
Import-Package
依赖项。事实上,您应该对所有依赖项使用
Import-Package
,并尽可能避免Require-Bundle
。Use an
Import-Package
dependency on the fragment's exported packages.In fact you should use
Import-Package
for all your dependencies, and avoidRequire-Bundle
wherever possible.除了将所需的包添加到
Import-Package
中之外,您可能还需要将Eclipse-ExtensibleAPI: true
添加到清单中,以防止 PDE 中出现未解决的依赖项错误。In addition to adding the required package to
Import-Package
, you might need to addEclipse-ExtensibleAPI: true
to the manifest to prevent unresolved dependency error in PDE.