Eclipse OSGi/Equinox捆绑包可以';找不到文件

Eclipse OSGi/Equinox捆绑包可以';找不到文件,eclipse,osgi,equinox,Eclipse,Osgi,Equinox,我正在使用Eclipse和Equinox编写两个OSGi包 我的第一个包,包A,在项目中:包A。我的第二个包B,在包B中 Bundle B加载文件server.cfg,该文件位于其项目根目录(即:workspace/Bundle B/server.cfg)中 当我执行OSGi框架时,它是从工作区/目录执行的,Bundle B找不到server.cfg,因此抛出了一个错误。它在workspace/server.cfg中查找,而不是在workspace/Bundle B/server.cfg中查找

我正在使用Eclipse和Equinox编写两个OSGi包

我的第一个包,包A,在项目中:包A。我的第二个包B,在包B中

Bundle B加载文件server.cfg,该文件位于其项目根目录(即:workspace/Bundle B/server.cfg)中

当我执行OSGi框架时,它是从工作区/目录执行的,Bundle B找不到server.cfg,因此抛出了一个错误。它在workspace/server.cfg中查找,而不是在workspace/Bundle B/server.cfg中查找

我可以将工作目录更改为Bundle B,它将找到server.cfg文件。但是,Bundle B无法找到Bundle A的任何类,因此抛出了一个错误

我真的不确定如何在仍然能够从B访问捆绑包A的类的情况下将文件的位置通知捆绑包B

我正在使用Eclipse3.6.2


更新:
我通过以下操作解决了此问题:
将工作目录设置为Bundle B,然后在清单文件中导出/导入Bundle A。这似乎有效。

您不必设置工作目录。尝试:

URL url = bundleB.getEntry("server.cfg");
File file = new File(FileLocator.toFileURL(url).getFile());

还要确保在build.properties(清单编辑器的build选项卡)中导出server.cfg文件。

更改工作目录时,捆绑包B找不到捆绑包A的类是什么意思?为什么要从工作目录加载类?对我来说,这听起来不像OSGi。