2012-04-25 9 views
1

現在、Pax Examの設定をセットアップするために、すべての依存関係を含める必要があります。例えば。Pax Exam:すべての依存関係を持つバンドルをプロビジョニング

@Configuration 
public Option[] сonfig() { 
    MavenArtifactProvisionOption commonsDbcp = mavenBundle("commons-dbcp", 
      "commons-dbcp"); 
    MavenArtifactProvisionOption commonsPool = mavenBundle("commons-pool", 
      "commons-pool"); 
    ... 
    return options(
      felix(), 
      provision(commonsDbcp, commonsPool)); 
} 

のようなもの。しかしcommons-dbcpcommons-poolに依存するため、これは重複した情報のように感じています。 Pax Examは明示的に追加することなくcommons-dbcpが必要であることを理解することは可能ですか?

答えて

1

本当に... OSGiバンドルのすべてのMavenの依存性はOSGiバンドルである

  • れていません。
  • 依存関係はインターフェイスのみの場合があり、実行時には代わりに実装バンドルをプロビジョニングする必要があります。

すべてのバンドルを明示的にリストすることは、フレームワークをプロビジョニングする唯一の安全な方法です。少なくとも、versionAsInPom()オプションメソッドを使用して、アーティファクトバージョンの複製を避けることができます。

関連する問題