いくつかのプラグインで構成される機能に基づく RCP 製品があります。各プラグインはOSGiバンドル マニフェストを使用します。
このプラグインの 1 つには、Plug-in from Existing JAR Archivesサードパーティによって作成された一連のライブラリ ( ) が含まれています。
今問題。このライブラリの 1 つは、次の方法で構成ファイルを探しています。
getClass().getClassLoader().getResourceAsStream(filename);
ファイルを含むフォルダーをクラスパスに追加する必要があることは明らかです。そこで、プラグインのマニフェストに次を追加しました。
Bundle-ClassPath: resources/
そこに構成ファイルを配置しました(もちろんBundle-ClassPath:、jar用の他のファイルもあり、resourcesそれらと一緒です)。
eclispe 内で製品をテストすると、ファイルが見つかり、すべてが機能しますが、製品をエクスポートするとすぐにファイルが見つかりません (resourcesフォルダーがエクスポートされたプラグインに含まれていても)。
実行構成に OSGI プロパティが欠けていると思いますが、問題を解決する方法がわかりません。