Maven 2 在使用Maven Bundler对第三方库进行OSGig时,如何处理可传递依赖关系

Maven 2 在使用Maven Bundler对第三方库进行OSGig时,如何处理可传递依赖关系,maven-2,bundlor,Maven 2,Bundlor,我想在我的osgi项目中使用hibernate 4,因此我需要制作hibernate 4及其依赖项osgi插件,以便它们在osgi运行时可用。我正在使用maven Bundler来实现这一点。因为hibernate依赖于其他几个库,其中一些库还具有可传递的依赖关系。有没有办法让maven自动找到Hibernate4的所有依赖项,并在osgi运行时使所有依赖项都可用 谢谢。为什么不使用Maven Central上提供的捆绑包?提供所有hibernate捆绑包的列表。您会注意到,hibernate

我想在我的osgi项目中使用hibernate 4,因此我需要制作hibernate 4及其依赖项osgi插件,以便它们在osgi运行时可用。我正在使用maven Bundler来实现这一点。因为hibernate依赖于其他几个库,其中一些库还具有可传递的依赖关系。有没有办法让maven自动找到Hibernate4的所有依赖项,并在osgi运行时使所有依赖项都可用


谢谢。

为什么不使用Maven Central上提供的捆绑包?提供所有hibernate捆绑包的列表。您会注意到,hibernate core版本4.0.1.Final可用于以下maven依赖项XML:


org.hibernate
冬眠核心
4.0.1.最终版本
选中以从命令行包装jar。或者,如果您将工件存储在Nexus存储库中,请看一看:当依赖项具有
osgi
时,如果它们还不存在,它会动态生成捆绑包。我使用第二种方法,尽管在配置时存在错误,但它可以完成这项工作

作为第三个选项,创建POM,使用maven bundle插件包装JAR。当我需要自定义BND指令以排除导入或更改导出时,我使用这种方法
我从生成的父包装器pom以及每个包装的jar继承自该pom


顺便说一句,他们都在内部使用BND,谢谢你的回复,但是maven central repo中的hibernate jar是普通的旧jar,而不是osgi包。SpringRepo中也没有Hibernate4x捆绑包(只有3.x)。虽然我现在可以使用Hibernate3,但是,为第三方库创建自定义osgi包最终会成为一个问题。您只需使用bnd的wrap命令来包装jar,仍然可以获得Maven依赖解析的好处。除非hibernate有任何对osgi不友好的代码,否则我认为简单的包装就足够了?
<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-core</artifactId>
  <version>4.0.1.Final</version>
</dependency>