5

私はしばらくの間 OSGi を調べてきましたが、「レガシー」ライブラリ (OSGi バンドルとしてではなく、プレーンな JAR としてリリースされているもの) を処理する最善の方法について疑問に思っています。

これらを処理する最善の方法は何だと思いますか? マニフェスト ファイルを変更し、最小限のバンドル固有の情報を追加してから、それらを再パッケージ化することは、現時点で私が行っていることですが、どういうわけか間違っているようです。これらの JAR に対して手動の依存関係管理を使用する必要がありますか (アプリケーションの特定の部分でのみ使用される可能性が高いライブラリに対してこれを行います)。

それらが利用可能な限り、私は Eclipse のバンドルを使用しています (私は OSGi プラットフォームとして Equinox を使用しているため、これはバンドルとして利用可能なライブラリに対してうまく機能します)。

知っておくべき Eclipse バンドル以外のバンドル リポジトリはありますか?

4

2 に答える 2

6

Springは、基盤となるプラットフォームとしてEquinoxを使用して、OSGiを大きく前進させています。

http://www.springsource.org/dmserver

OSGiの開発に興味がある場合は、RobHarropのブログをフォローする価値があります。

そして、あなたの質問に答えるために、ここにSpringのOSGiバンドルリポジトリがあります:

http://www.springsource.com/repository/app/

于 2009-06-25T19:50:05.087 に答える
2

Eclipseで使用するために事前にパッケージ化されたバンドルが多数あるEclipseOrbitもあります。また、バンドルのマニフェストを直接修正する代わりに、マニフェストを自分で提供するラッパーバンドルを作成し、Bundle-ClassPath:foo.jarヘッダーを使用してJarをそのまま含めることができます。実行時にfoo.jarが抽出されるため(少なくともEquinoxでは)、この方法で行うのは少し効率的ではありませんが、それを使用してビルドプロセスを管理する方が簡単な場合があります。

Springリポジトリは、OSGi化されたオープンソースライブラリの優れたソースでもあります。

于 2009-07-27T21:37:09.683 に答える