2012-04-25 72 views
1

目前,爲了設置Pax考試的配置,我發現我需要包含所有依賴關係。例如。像Pax考試:提供與所有依賴關係的軟件包

@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考試有沒有可能找出commons-dbcp而不明確添加它?

回答

1

不是真的...

  • 沒有一個OSGi包的每Maven的依賴是一個OSGi包。
  • 依賴關係可能只是一個接口,並且在運行時,您需要改爲提供一個實現捆綁包。

明確列出所有捆綁包是配置框架的唯一安全方式。至少,您可以使用versionAsInPom()選項方法避免重複工件版本。

相關問題