java - Apache Felix 缺少 javax.sql.Datasource

标签 java sql osgi apache-felix

我刚刚从 Equinox 迁移到 Apache Felix。现在缺少 javax.sql.datasource 类:

java.lang.NoClassDefFoundError: javax/sql/DataSource

我的包正在 list 文件中导入 javax.sql,我尝试将以下行添加到 felix 配置中:

org.osgi.framework.system.packages.extra=javax.sql

有没有什么方法可以教 felix 导出包或者是否有一个包可以做到这一点?即使 list 中没有导入语句,它在 Equinox 中也能正常工作。

编辑: list 文件:

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Database
Bundle-SymbolicName: ...database
Bundle-Version: 1.0.0
Import-Package: javax.sql,
 org.osgi.framework;version="1.3.0",
 org.osgi.service.component;version="1.1.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ClassPath: lib/mysql-connector-java-5.1.20-bin.jar,
 .
Export-Package: ...database.model,
 ...database.service
Service-Component: OSGI-INF/component.xml

谢谢, 丹尼尔

最佳答案

Felix 确实已经导出了这个包。

更有可能是你的Import-Package语句有问题。您确实声明您的包导入了包,但请发布您的 MANIFEST.MF 的副本以确保。

关于java - Apache Felix 缺少 javax.sql.Datasource,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11392916/

相关文章:

java - 卡夫卡消费者民意调查(超时: 0) but actually fetch the records back

mysql - 如何使用 SQL 查找不交叉的时间集?

java - 创建 LoginContext 时没有配置 LoginModules 错误 (JAAS)

OSGi 事件管理员

java - Eclipse启动时出现错误: 'Android LIbrary Update' has encountered

java - JDBC 是否支持枚举?

Java 核心还是 Java EE?

mysql - 根据单元格值更新 MySQL 中的列

mysql - 如何获取按匹配属性数量排序的查询行?

java - Mac 版 Equinox 启动器 (org.eclipse.equinox.launcher.carbon.macosx) 版本 3.4.1 无法在 64 位 Mac 上运行?