我想在我的 osgi 项目中使用 hibernate 4,因此我需要制作 hibernate 4 及其依赖项 osgi 插件,以便它们在 osgi 运行时可用。我正在使用 maven bundler 来做到这一点。因为 hibernate 依赖于其他几个库,其中一些库也具有传递依赖关系。有没有办法让 maven 自动查找所有 hibernate 4 的依赖项并使所有在 osgi 运行时可用?
谢谢你。
检查pax 库以从命令行包装 jar。或者,如果您将工件存储在 Nexus 存储库中,请查看这个 bundle-maker 插件:当依赖项具有<classifier>osgi</classifier>
. 我使用第二种方法,虽然配置时有问题,但它可以完成工作
作为第三种选择,创建将使用 maven-bundle-plugin 包装 jar 的 pom。当我需要自定义 BND 指令以排除导入或更改导出时,我使用这种方法
我从pax-maven-plugin生成的父包装器 pom并且每个包装的 jar 都继承自这个 pom
顺便说一句,他们都在内部使用 BND
为什么不使用 Maven Central 上提供的捆绑包?此链接提供了所有休眠包的列表。您会注意到 hibernate-core 版本 4.0.1.Final 可用于以下 maven 依赖 XML:
<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-core</artifactId> <version>4.0.1.Final</version> </dependency>