私は、サービスをネイティブ実行可能ファイルのラッパーとして実装する OSGi バンドルに取り組んでいます。つまり、サービスは で実行可能ファイルを実行しProcessBuilder、データをフィードして、結果を取得します。私の質問は、このバンドルをパッケージ化する最良の方法についてです。ネイティブ実行可能ファイルには、多数の依存データ ファイルが含まれており、ツールを実行するには、これらすべてがディスク上に存在する必要があります。OSGi でのネイティブ DLL の扱いに関するリファレンスはたくさん見つかりましたが、クラスパスから取得できるだけでなく、ディスク上に存在する必要があるバンドルに関連付けられたファイルに対処するものはありません。
実行可能ファイルと依存ファイルをバンドル アーカイブに直接含めて、バンドルの開始時にプログラムでディレクトリに抽出できると考えていました。私が考えることができる他のオプションは、実行可能ファイルをどこかに置き、それまたは何かを指すシステムプロパティを設定することですが、構成を最小限に抑えたいと思います。
特定の OSGi 実装に固有ではない解決策があればよいのですが、そうでない場合、私は Equinox を使用しています。
ありがとう!