1

現在、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-dbcpに依存しているのでcommons-pool、これは重複した情報のように感じます。Pax Examcommons-dbcpは、明示的に追加しなくても、それが必要かどうかを判断することはできますか?

4

1 に答える 1

1

あまり...

  • OSGiバンドルのすべてのMaven依存関係がOSGiバンドルであるとは限りません。
  • 依存関係はインターフェースのみである可能性があり、実行時に、代わりに実装バンドルをプロビジョニングする必要があります。

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

于 2012-06-02T20:34:19.983 に答える