如何使用Maven Bundlor使用第三方库来处理传递依赖性

时间:2012-02-05 08:57:14

标签: maven-2 bundlor

我想在我的osgi项目中使用hibernate 4,因此我需要创建hibernate 4及其依赖项osgi插件,以便它们在osgi运行时中可用。我正在使用maven bundlor来做这件事。因为hibernate依赖于其他几个库,其中一些库也具有传递依赖性。有没有办法让maven自动找到所有hibernate 4的依赖项,并在osgi运行时使所有可用?

谢谢。

2 个答案:

答案 0 :(得分:1)

检查the pax library以从命令行包装jar。或者,如果您将工件存储在Nexus存储库中,请查看this bundle-maker plugin:如果依赖项具有<classifier>osgi</classifier>,它们就会在运行时生成捆绑包。我使用第二种方法,虽然配置时有错误,但它可以完成工作

作为第三种选择,创建将使用maven-bundle-plugin包装jar的poms。当我需要自定义BND指令以排除导入或更改导出时,我使用这种方法 我从pax-maven-plugin生成的父包装器pom和每个包装的jar继承自此pom

他们都在内部使用BND btw

答案 1 :(得分:0)

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

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-core</artifactId>
  <version>4.0.1.Final</version>
</dependency>