1

spring-java プロジェクトを osgi に移動しています。

Spring ebr リポジトリまたは maven リポジトリでバンドルとして利用できない依存関係がいくつかあります。それらを処理する最良の方法は何ですか?

私が考えることができるオプションは

  1. ローカルの Maven リポジトリを作成し、jar をバンドルに変換して使用します (推移的な依存関係と jar の更新により、これは困難になります)
  2. それらをバンドル クラスパスに追加します (私のバンドルは巨大になり、これらの jar の管理はアップグレードで簡単ではありません)
  3. そのようなすべての jar を別のバンドルのクラスパスに保持し、パッケージをエクスポートして使用します (やはり jar の管理は困難です)。

他の提案、または上記のどれが推奨されますか?

4

2 に答える 2

4

それが「OSGi 方式」であるため、最も推奨される方法は最初のオプションです。このようにして、アプリケーションをより適切にモジュール化し、異なるクライアント バンドルで同じバンドルを共有できます。また、OSGi に固有のバージョン管理も利用できます。

JAR からバンドルを作成するために必ずしも Maven を使用する必要はありませんが、役立つ場合もあります。bnd を使用して、JAR を OSGi バンドルとしてラップすることもできます。

于 2012-09-18T15:21:06.660 に答える
0

apache karafを使用する場合は、Mavenリポジトリから任意のjarファイルをその場でバンドルするオプションがあります。uri install -s wrap:mvn:groupId / ArtifactId/versionを使用するだけです。これはbndを使用してjarをデフォルト設定でバンドルし、インストールします。これは、たとえばoraclejdbcドライバーで機能します。

于 2012-09-19T06:43:27.140 に答える