mysql - 在 OSGi 框架中使用 mysql JDBC

标签 mysql jdbc osgi osgi-bundle eclassnotfound

我在 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/

相关文章:

mysql - 来自员工表的经理/主管/员工层次结构的 SQL 报告

mysql - FreeRADIUS 3 将 %{SQL-Group} 的组名中的 # 存储为 =23

MySQL INNER JOIN 查找行组的最大值

java - 将 SQL 数据库中的表值插入到 ArrayList

java - SQL 异常 : Too many database connection

java - 如何动态替换 Eclipse 插件的类加载器?

java - OSGi SOAP 网络服务客户端

osgi - Felix maven-bundle-plugin 传递依赖问题

java - 如何使用curl从php页面将参数传递到java servlet?

Spring 启动 : How to externalize JDBC datasource configuration?