Eclipse と Equinox を使用して 2 つの OSGi バンドルを作成しています。
私の最初のバンドル、バンドル A は、プロジェクト: バンドル A にあります。2 番目のバンドル B は、バンドル B にあります。
バンドル B は、そのプロジェクト ルート ディレクトリにあるファイル server.cfg をロードします (つまり、workspace/Bundle B/server.cfg)。
OSGi フレームワークを実行すると、workspace/ ディレクトリから実行され、バンドル B が server.cfg を見つけることができないため、エラーがスローされます。これは、workspace/Bundle B/server.cfg ではなく、workspace/server.cfg を探しています。
作業ディレクトリをバンドル B に変更すると、server.cfg ファイルが見つかります。ただし、バンドル B はバンドル A のクラスを見つけることができないため、エラーがスローされます。
バンドル B からバンドル A のクラスにアクセスしながら、ファイルの場所をバンドル B に通知する方法がよくわかりません。
私はEclipse 3.6.2を使用しています。
更新:
次の手順を実行して、この問題を解決しました: 作業ディレクトリをバンドル B に設定し、マニフェスト ファイルでバンドル A をエクスポート/インポートします。これはうまくいくように見えました。