java - 从 OSGi 包导入资源

标签 java osgi bundle

使用 OSGi 中的导入机制,可以直接从另一个包中导入包。但是,我未能成功导入存在于 bundle “根”中的资源。

是否可以将不在包范围内的资源导入到另一个包中?

我想实现的是:

Bundle A 在“root”中有一个文件资源

Bundle B 导入 Bundle A:s 包和资源。 通过 bundle B:s ClassLoader,我希望能够加载 bundle A 中的资源,就好像它存在于 Bundle B 中一样。

最佳答案

bundle 根目录中的资源位于“默认”包中,无法导入或导出。

如果您真的必须通过类加载器访问资源,则需要将它们移动到一个包中并导出该包。否则,您可以使用 Bundle.getEntry() 从任何包的任何位置读取资源。

关于java - 从 OSGi 包导入资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7564370/

相关文章:

java - 如果 "metadata-complete"设置为 false,Tomcat 不会运行

Java 异常与 C++ 异常

Apache Camel 检测手动删除的文件

java - SimpleDateFormat 解析结果很奇怪

java - Itext 中的 Bouncy CasSTLe 错误

eclipse - Tycho 是否适用于 Eclipse 3.5

osgi - Cq5.5 将 servlet 过滤器应用于特定路径

android - 是否允许有一个 onActivityResult 链?

reactjs - 如何使用 webpack 和 Babel 将 TypeScript/Less 文件编译成 JavaScript/CSS?

android - 我应该如何通过短信发送我的 GPS 坐标?