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