3

EquinoxからApacheFelixに移行しました。これで、javax.sql.datasourceクラスが欠落しています。

java.lang.NoClassDefFoundError: javax/sql/DataSource

私のバンドルはマニフェストファイルにjavax.sqlをインポートしており、felixconfigに次の行を追加しようとしました。

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 に答える