Eclipse Indigo を使用して、OSGi Java Framework を使用していくつかのバンドルを開発しました。他のバンドルに依存し、メイン プログラムを実行するメイン バンドルがあります。Eclipse ですべてのバンドルを実行しようとすると、すべて正常に動作しますが、各バンドルを JAR として保存し、コマンド ラインで OSGi フレームワークNoClassDefFoundError
を起動すると、メイン バンドルを起動しようとすると例外が発生します。見つからないクラスは依存関係です。バンドルの残りのステータスは ACTIVE になり、メイン バンドルは解決済みになります。
使用しているすべてのライブラリ (mysql コネクタなど) を含むバンドルを作成し、これらのライブラリが必要なすべてのバンドルにこのバンドルをインポートしています。これがそれを達成するための最良の方法であるかどうかはわかりません。また、アプリケーションでスレッドを使用していますが、それらのいくつかは別のバンドルのメソッドを使用しています。それが問題の原因でしょうか?
私に何ができるか考えている人はいますか?Apache Karaf にもバンドルをインストールする必要があり、同じ結果が得られました。各バンドルの開始レベルと関係がありますか?