3

そうです、そこにいるApache Karafの人々のためのいくつかの本当に初心者(これはKarafへのバンドルの私の最初の展開です)の質問です。多くの org.apache.commons.* バンドルを使用するバンドルをデプロイしています。バンドルをデプロイしてから開始しようとすると、Karaf は、たとえば org.apache.commons.pools が見つからないというエラーをスローしました。私は少しグーグルをして、次を実行しました:

osgi:install mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.commons-pool

これにより、不足しているバンドルがインストールされ、次のバンドルにヒットしました。必要なバンドルが OSGI コンテナーにインストールされていないことは理解していますが、明確にする必要がある質問がいくつかあります。

  • 私の理解では、インストールするバンドルはある種の servicemix バンドルを使用しています。これが必要かどうか知りたいのですが、完全な servicemix バンドルの代わりに org.apache.commons.pool バンドルを追加することはできませんか?
  • バンドルが見つからない場合、使用する Maven URL を見つけるにはどうすればよいですか。たとえば、foobar バンドルが必要だとします。URL がわからない場合、バンドルを追加するにはどうすればよいですか? 現在、package=org.apache.log が見つからないため、バンドルを開始できません。では、これを追加する方法をどうやって知ることができますか?
  • バンドルと機能の違いは?

質問が十分に明確であることを願っています。これらの点を明確にする必要があるだけで、私はカラフで前進しています。

4

1 に答える 1

11

すべての Java「jar」が OSGi と互換性があるわけではなく、OSGi バンドル マニフェストが必要です。

コンソールから依存関係を追加する必要がある場合は、次の手順に従います。

  • mvnrepository.comでライブラリを検索
  • 次のようにインストールしてみてください。

    インストール mvn:[グループ ID]/[アーティファクト ID]/[バージョン]

  • OSGi ライブラリでない場合は、SpringSourceで検索します。このリポジトリでは、すべてのバンドルが OSGi ですが、バージョンが古いのは正常です。

  • 私の最後のオプションは、OSGi 以外のバンドルをデプロイできる Karaf ラップ デプロイヤを使用することです。ユーザーガイドを確認してください。

機能については、機能は単なるバンドルのセットです。詳細については、この投稿をお読みください。

于 2012-04-01T09:13:10.187 に答える