Maven 2 如何使用Maven将第三方OSGi捆绑包添加到部署包中?

Maven 2 如何使用Maven将第三方OSGi捆绑包添加到部署包中?,maven-2,osgi,Maven 2,Osgi,我正在构建在OSGi容器中运行的应用程序。我使用ApacheFelix中的Maven和Maven Bundle插件为我自己的模块设置OSGi清单,效果非常好 现在,我将我的捆绑包与几个第三方库一起部署到一个OSGi容器中。当我从Maven repos获得它们时,其中一些已经是OSGi化的,其他的,我想转换成OSGi兼容的JAR。我想建立一个Maven项目,收集所有依赖项,并将每个依赖项放在自己的OSGi jar中。最终目标是将这些JAR和我自己的JAR收集到一个程序集中,作为一个独立的部署包使用

我正在构建在OSGi容器中运行的应用程序。我使用ApacheFelix中的Maven和Maven Bundle插件为我自己的模块设置OSGi清单,效果非常好

现在,我将我的捆绑包与几个第三方库一起部署到一个OSGi容器中。当我从Maven repos获得它们时,其中一些已经是OSGi化的,其他的,我想转换成OSGi兼容的JAR。我想建立一个Maven项目,收集所有依赖项,并将每个依赖项放在自己的OSGi jar中。最终目标是将这些JAR和我自己的JAR收集到一个程序集中,作为一个独立的部署包使用

我知道该怎么做,而且我有一种(有点粗俗的)方法,即使我可能不应该这样做。但是,如果我有一个已经很好的依赖项,并且我只想将它从repo复制到我的程序集中,那么我应该使用Maven的哪一部分呢?bundle插件是错误的,如果依赖项已经与OSGi兼容,它会弄乱清单。我使用依赖插件、汇编插件还是其他什么


我觉得我忽略了一些非常简单的东西。

您可以从Spring bundle存储库获得许多常见工件的OSGi友好版本。所以你可能不需要自己做

请参阅Maven捆绑存储库的详细信息


(将为那些尚未作为捆绑包提供的工具更新一些想法)

您看过PAX工具了吗?特别是
... 它们不仅为您提供了一个很好的模板,而且还免费解决了您提到的大多数问题。

我们使用了许多供应商未提供OSGiff的库,这些库在Spring bundle存储库中不可用。我们也有许多这样的产品,希望将它们一起部署,无需任何麻烦。为此,我们创建了一个2层maven设置:

  • 下载或包含(视“系统”范围而定)相关第三方库的单个maven项目,以及使用
  • 一个容器项目,它依赖于所有这些小项目,并使用核心对它们进行组装。该POM还使用maven的复制依赖目标来确保一切就绪

  • 一旦它变成一个程序集(我们的是一个tar文件),我们就将其部署到服务器上。我们更进一步,将这个第三方库集合用作Eclipse构建环境的目标平台。但这可能与您无关。

    不,我知道如何获得它们。我想知道如何使用Maven自动将它们包含在部署包和/或测试环境中。对不起,我想我不太明白您到底想做什么,我还推荐Pax工具套件。哇,它们看起来不错,但我现在不得不推迟。我对Maven感觉很好,目前,我应该发货,而不是购买更多的工具。无论如何,这是一个很好的暗示!第2步是我所要求的,第1步也很有帮助。谢谢