Bundle的导出包不可见

时间:2010-08-11 14:41:38

标签: java eclipse osgi

我有一堆依赖于包含某些第三方jar / dll资源的包的eclipse插件,并导出这些资源包含的包。 当我将所有这些导出并放入eclipse / plugins时,插件工作得很好。但是,当我在这个新工作区中创建一个依赖于我的资源包的新插件时,我看不到它的导出包。我似乎无法找到它们。

资源包的清单如下所示:

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: MyBundle
Bundle-SymbolicName: MyBundle
Bundle-Version: 1.0.0
Bundle-ClassPath: res1.jar,
 res2.jar,
 res3.jar,
 .
Export-Package: com.stuff.res2,
 com.stuff.res1,
 com.stuff.res3
Bundle-RequiredExecutionEnvironment: JavaSE-1.6

我已经查看了this related thread中的清单,没有运气。 经过一些额外的谷歌搜索后,我找到了一个解决方法,我可以将我的捆绑包作为项目导入工作区(在插件浏览器中右键单击我的捆绑包 - >导入为 - >源/二进制项目)。如果可能的话,我想避免创建这个额外的项目。

编辑:Eclipse bug 259959看起来可能与我有关,但设置与我不完全相同。

任何帮助都会非常感激!

1 个答案:

答案 0 :(得分:3)

不要创建一个充满其他jar的库包。 This won't work as you want it来。除了该链接中提供的解决方案之外,您还可以从库库中创建自己的包。 Eclipse有从现有jar创建的选项,当然这意味着每个jar都有一个新的bundle,但这无论如何都是在OSGi环境中执行它的正确方法。