我刚刚从 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/