私は現在、osgi jar リポジトリとしてartifactoryでkarafを使用しています。これはうまくいきます。ファイルシステムの代わりにデータベースまたは他のデータソースに保存できることを除いて、リポジトリに非常によく似たKaraf用のApache Caveツールに出くわしました。
これはどのような価値を提供しますか。Cave を使用して解決できるユースケースにはどのようなものがありますか?
私は現在、osgi jar リポジトリとしてartifactoryでkarafを使用しています。これはうまくいきます。ファイルシステムの代わりにデータベースまたは他のデータソースに保存できることを除いて、リポジトリに非常によく似たKaraf用のApache Caveツールに出くわしました。
これはどのような価値を提供しますか。Cave を使用して解決できるユースケースにはどのようなものがありますか?
これはどのような価値を提供しますか? Cave を使用して解決できるユースケースにはどのようなものがありますか?
Cave
Repositories
バンドル (またはアーティファクト全般) に関する重要な情報 (場所、バージョン、要件、機能など)を格納するために使用されます。解決プロセスの 3 つの重要な部分の 1 つです。残りの 2 つはResolver
とResolve Context
です。
これResolver
は OSGi ランタイムからわかるかもしれません。これは、バンドルの要件が満たされている (開始できる) かどうかを示すものです。Resolve Context
そうするために、何を利用できるか、何を期待するか、何をオプションにするかなどを知るためResolve Context
にa と対話しRepositories
ます。多くの場合、これらはランタイムにインストールされたバンドルのみです。ただし、外部アーティファクトが必要であると判断しRepository
たときにインストールできる外部アーティファクトを参照するランタイムを使用することは可能です。Resolver
ビルド時にほぼ同じ概念を使用できます。たとえば、 Bnd.bndrun
プロジェクトでは、 のプロパティ ベース バージョンの一種であるファイルを定義できますResolve Context
。それらの中で提供できるものの 1 つは、Repositories
利用可能なバンドルに関する情報を持っていることです。このようなリポジトリは、Cave
(またはローカル XML ファイルを含むその他のもの)によって提供される可能性があります。その情報に基づいてBnd
、ランタイムを組み立てることができます (実行するバンドルに基づいて、必要なバンドルを通知します)。
さらに、Cave
Maven リポジトリまたは他の Maven リポジトリへのプロキシとして機能できます。従来の Maven 依存関係Cave
の両方に対して「単一の連絡先」として使用できるため、これは便利です。Resolver