0

我们有一个 OSGi 应用程序:

Bundle A --> 只引用10个jar文件,导出这10个jar文件的所有包以满足运行时调用。

Bundle B --> 导入从 Bundle A 导出的包。运行时 OK。

但是当我使用 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 文件的方法,所以任何人都可以在构建时提供解决此依赖问题的解决方案吗?

4

2 回答 2

1

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

于 2012-05-04T07:35:38.957 回答
1

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

请参阅有关您的方法的这个问题。

于 2012-05-04T17:24:34.803 回答