Maven构建如何依赖于另一个jar文件中的jar文件?

时间:2012-05-04 03:36:56

标签: maven build osgi

我们有一个OSGi应用程序:

捆绑A - >除了引用10个jar文件之外,只导出这10个jar文件的所有包以满足运行时调用。

捆绑B - >导入从Bundle A运行的包。运行时确定。

但是当我使用Maven构建Bundle B时,问题出现了。这是Bundle B的一个pom.xml:

<dependency>
  <groupId>com.mycom.id</groupId>
  <artifactId>com.mycom.BundleA</artifactId>
  <version>${version.range}</version>
  <scope>provided</scope>
</dependency>

当我引用artifactID:Bundle A时,构建失败。 Maven无法引用项目中的jar文件。 我找不到一种方法来引用另一个项目中的jar文件,那么任何人都可以在构建时提供解决方案来解决这种依赖性问题吗?

2 个答案:

答案 0 :(得分:1)

您是否将10个罐子设置为Bundle A的依赖?如果是这样,Maven应该能够在引用Bundle A时找到传递依赖。

答案 1 :(得分:1)

您不应该以这种方式捆绑您的组件。在OSGi中很少将一个jar包装在另一个jar中,如果你这样做,则不应该导出该jar的包。如果包需要可用于其他包,则该jar应该是OSGi包。

有关您的方法,请参阅this question