我在 OSGi 应用程序中连接到数据库时遇到了很大的问题。我搜索了3天,没有找到好的解决方案。只是不工作和旧东西。我正在使用 Bndtools 来创建我的 bundle 。
谁能帮帮我,我很绝望。
谢谢
最佳答案
导致此错误的最可能原因似乎是所使用的类的包不存在于 bundle 的 manifest.mf 的 Import-package 指令中。
在 OSGi 环境中,每个包都有自己的类加载器。因此,每个类在应用程序生命周期内只会加载一次。每当在 bundle 外部使用某个类时,该类所在的包就需要出现在其 jar 的 manifest.mf 的 Export-package 属性中。 任何需要此包/类的客户端 bundle 都应在其 manifest.mf 文件的 Import-package 属性中添加该条目。
如果您使用maven,则可以使用maven-bundle-plugin。该插件将通过扫描项目 pom.xml 中存在的依赖项来生成适当的 list 导入和导出 header 。
关于mysql - 在 OSGi 框架中使用 mysql JDBC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30502917/