Pax Exam:配置捆绑包含所有依赖项

时间:2012-04-25 08:34:05

标签: 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-dbcp取决于commons-pool,这感觉就像是重复的信息。 Pax Exam是否可以在不明确添加的情况下确定需要commons-dbcp

1 个答案:

答案 0 :(得分:1)

不是......

  • 并非每个OSGi包的Maven依赖都是OSGi包。
  • 依赖项可能只是一个接口,在运行时,您希望改为配置实现包。

显式列出所有bundle是配置框架的唯一安全方法。至少,您可以使用versionAsInPom()选项方法来避免重复工件版本。