没有捆绑的Apache Karaf第三方jar

时间:2015-10-13 05:54:50

标签: java apache jar osgi apache-karaf

我有一个第三方jar,我正在使用Blowfish解密捆绑,我需要在apache karaf上部署。

所以现在我也需要karaf来了解这个jar,但我找到的每个解决方案都是为这个jar创建一个完整的包,这对于一个简单的库imo来说非常适合。

我已经做的是在我的本地maven存储库中安装该jar并添加依赖项,但这也不起作用(至少在karaf上)。

还有其他办法可以让apache karaf的第三方罐子上班吗?

2 个答案:

答案 0 :(得分:2)

您使用的是功能xml文件吗?如果是这样,你可以使用wrap:mvn:使其可用:

<feature name="feature1" version="1.0.0">
  <bundle>wrap:mvn:group.id/third.party.artefact.id/version</bundle>
  <bundle>mvn:group.id/your.artefact/version</bundle>
</feature>

这将在运行时捆绑第三方jar,并确保已安装它以供您的捆绑使用。取自Karaf - Creating bundles

答案 1 :(得分:0)

对于@fiw,你可能想要使用Bndtools来修饰你的第三方jar。为了实现它:

  1. Download bnd tools
  2. 打开一个已下载bnd-2.4.0.jar的shell。
  3. 类型:

    java -jar bnd-2.4.0.jar wrap -o osgify-dependency.jar dependency.jar

  4. 其中 dependency.jar 是您的第三方, osgify-dependency.jar 将是输出。

    1. 部署到maven repo覆盖以前的maven坐标,或者使用不同的坐标部署第三方。

      mvn deploy:deploy-file -Dfile osgify-dependency.jar ...