1

私は現在、osgi jar リポジトリとしてartifactoryでkarafを使用しています。これはうまくいきます。ファイルシステムの代わりにデータベースまたは他のデータソースに保存できることを除いて、リポジトリに非常によく似たKaraf用のApache Caveツールに出くわしました。

これはどのような価値を提供しますか。Cave を使用して解決できるユースケースにはどのようなものがありますか?

4

2 に答える 2

0

これはどのような価値を提供しますか? Cave を使用して解決できるユースケースにはどのようなものがありますか?

CaveRepositoriesバンドル (またはアーティファクト全般) に関する重要な情報 (場所、バージョン、要件、機能など)を格納するために使用されます。解決プロセスの 3 つの重要な部分の 1 つです。残りの 2 つはResolverResolve Contextです。

これResolverは OSGi ランタイムからわかるかもしれません。これは、バンドルの要件が満たされている (開始できる) かどうかを示すものです。Resolve Contextそうするために、何を利用できるか、何を期待するか、何をオプションにするかなどを知るためResolve Contextにa と対話しRepositoriesます。多くの場合、これらはランタイムにインストールされたバンドルのみです。ただし、外部アーティファクトが必要であると判断しRepositoryたときにインストールできる外部アーティファクトを参照するランタイムを使用することは可能です。Resolver

ビルド時にほぼ同じ概念を使用できます。たとえば、 Bnd.bndrunプロジェクトでは、 のプロパティ ベース バージョンの一種であるファイルを定義できますResolve Context。それらの中で提供できるものの 1 つは、Repositories利用可能なバンドルに関する情報を持っていることです。このようなリポジトリは、Cave (またはローカル XML ファイルを含むその他のもの)によって提供される可能性があります。その情報に基づいてBnd、ランタイムを組み立てることができます (実行するバンドルに基づいて、必要なバンドルを通知します)。

さらに、CaveMaven リポジトリまたは他の Maven リポジトリへのプロキシとして機能できます。従来の Maven 依存関係Caveの両方に対して「単一の連絡先」として使用できるため、これは便利です。Resolver

于 2017-04-04T16:52:59.303 に答える