我开发了一个示例OSGI包并将其部署到Karaf中,该包中包含与源相同级别的文件夹。
我的课程需要从此文件夹加载数据,但每次都出错:
java.lang.IllegalArgumentException: No such group file: ./data/...
我的问题是:如何使用OSGI Bundle中文件夹的相对路径?
答案 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();
希望这有助于某人