2012-05-04 88 views
0

我们有一个OSGi应用程序:Maven构建如何依赖另一个jar文件中的jar文件?

捆绑包A - >没有什么,但引用10个jar文件,导出这10个jar文件的所有包,以满足运行时调用。

捆绑包B - >导入从捆绑包导出的包A.运行正常。

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

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

当我提到的的artifactId:捆扎A,建立失效。 Maven无法引用项目中的jar文件。 我无法找到一种方法来引用另一个项目中的jar文件,因此任何人都可以提供一种解决方案来解决建筑时的这种依赖性问题吗?

+1

Bundle A对我来说没有任何意义,我们通常直接将10个jar依赖项添加到Bundle B的pom.xml中。 – yorkw

+0

任何其他方式访问A内的罐子? – JerryCai

+0

只需将依赖关系添加到10个原始包中即可 –

回答

1

您不应该用这种方式捆绑组件。在OSGi中将一个jar包捆绑到另一个jar包中是不明智的,如果你这样做,不应该导出jar包。如果软件包需要可用于其他软件包,那么该软件包应该是OSGi软件包。

请参阅this question关于您的方法。

1

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

相关问题