Menu Close
8.3. Import-Package ヘッダーが不完全
必要なすべての機能とバンドルがすでにインストールされ、ClassNotFound
エラーが出される場合、バンドルの MANIFEST.MF
ファイルの Import-Package
ヘッダーが不完全であることを意味します。maven-bundle-plugin
( 「既存の Maven プロジェクトの変更」を参照)は、バンドルの Import-Package
ヘッダーを生成する際の優れたヘルプですが、以下の点に注意する必要があります。
-
Maven バンドルプラグイン設定の
Import-Package
要素にワイルドカード*
が含まれていることを確認します。ワイルドカードは、Java ソースコードをスキャンし、パッケージの依存関係の一覧を自動的に生成するよう、プラグインに指示します。 -
Maven バンドルプラグインは動的な依存関係を把握できません。たとえば、Java コードが明示的にクラスローダーを呼び出してクラスを動的に読み込む場合、バンドルプラグインはこれを考慮せず、必要な Java パッケージは生成した
Import-Package
ヘッダーには一覧表示されません。 -
(
OSGI-INF/blueprint
ディレクトリーなど)Blueprint XML ファイルを定義すると、Blueprint XML ファイルからの依存関係 は自動的にランタイム時に解決されます。