是否有办法在osgi上下文中使用“bundle”作为方案从其构造函数构建java.net.URL对象?
URL url = new URL("bundle://<bundle-id>/path/file.txt");
InputStream in = url.openStream();
...
当流打开时,此代码会导致格式错误的异常(未知协议)。我不知道osgi平台如何向java.net.URL注册新方案
我想通过Configuration Admin来配置服务。此配置包含用于设置文件路径的属性。我希望消费者能够将文件存储在他想要的位置(文件系统,内部捆绑甚至互联网)。
前面的例子可能很棒,因为代码很简单,而且消费者可以提供表单的路径:“bundle:///path/file.txt”,“file:///path/file.txt”, “http:///path/file.tx”,但实际上它不起作用。
答案 0 :(得分:0)
没有。只有框架才能构建这些URL。您可以使用Bundle对象返回包中内容的URL。