我们有一个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文件,那么任何人都可以在构建时提供解决方案来解决这种依赖性问题吗?
答案 0 :(得分:1)
您是否将10个罐子设置为Bundle A的依赖?如果是这样,Maven应该能够在引用Bundle A时找到传递依赖。
答案 1 :(得分:1)
您不应该以这种方式捆绑您的组件。在OSGi中很少将一个jar包装在另一个jar中,如果你这样做,则不应该导出该jar的包。如果包需要可用于其他包,则该jar应该是OSGi包。
有关您的方法,请参阅this question。