ユーザーから Maven の依存関係のリストをいくつか取得し、それぞれを解決して、含まれているアプリケーションとしてロードしたいと思います。手順は次のとおりです。
- すべての Maven 依存関係のリストを収集する (DONE)
- すべての依存関係を Aether で解決する (DONE)
- クラスパスを Aether で解決 (DONE)
- 上記を別の「コンテナー」にバンドルします (バージョンが競合する可能性のある異なる Maven 依存関係を使用できるようにするため)。
- 他のリストで繰り返します。
いくつかのコンテキストを提供するには、UIMA のコンテキストで上記を使用して、異なるバージョンの異なるライブラリ セットに依存する異なる (自然言語処理) パイプラインを実行できるようにしたいと考えています。私の目標は、RESTful な方法で呼び出すことができる (Maven) 依存関係とパイプラインを定義する注釈サーバーを作成することです。パイプライン (およびそれに対応する依存関係) は、(クラスパスの衝突を避けるために) 含まれるクラスパス環境でそれぞれ実行する必要があります。
OSGi は進むべき道ですか? クラスパス (:= 解決済みの jar のリスト) に基づいて、OSGi バンドルをビルドしてデプロイできますか? すべてプログラムで?私は Maven の依存関係を制御できません (それらは UIMA コンポーネントです、それだけです)。そこに OSGi メタデータを追加する方法はありません。