3

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

java.lang.NoClassDefFoundError: javax/sql/DataSource

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

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

有什么方法可以教 felix 导出捆绑包,还是有一个捆绑包可以做到这一点?即使清单中没有 import 语句,它在 Equinox 中也能正常工作。

编辑:清单文件:

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

谢谢,丹尼尔

4

1 回答 1

3

Felix 已经导出了这个包。

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

于 2012-07-09T11:06:38.687 回答