获取OSGI Bundle内部文件夹的相对路径

时间:2014-09-12 22:34:40

标签: osgi bundle karaf

我开发了一个示例OSGI包并将其部署到Karaf中,该包中包含与源相同级别的文件夹。

我的课程需要从此文件夹加载数据,但每次都出错:

java.lang.IllegalArgumentException: No such group file: ./data/...

我的问题是:如何使用OSGI Bundle中文件夹的相对路径?

2 个答案:

答案 0 :(得分:1)

你试过Bundle.getEntry吗?它是可用于访问包内容的方法之一。

答案 1 :(得分:0)

使用bundle中的上下文解决:

URL wfl = context.getBundle().getResource("data1/file.txt");

URL url = MyClass.class.getClassLoader().getResource("data1/file.txt");
            if (url != null) {          
                mFile = FileLocator.toFileURL(url).getFile();

希望这有助于某人