我刚开始使用OSGI开发,并且正在努力了解如何最好地处理依赖JAR.
即如果我正在创建一个捆绑包,那么我可能需要使用一些第三方JAR.当我创建我的捆绑JAR以部署到OSGI时,显然这些第三方JAR不包括在内,因此捆绑包将无法运行.
我知道一个选项是将这些JAR转换为捆绑包并将它们部署到OSGI容器中.但是,如果它们只需要被一个捆绑使用,那么这似乎并不理想.
这是什么最好的解决方案?JAR是否可以嵌入到捆绑JAR中,如果是这样,这是一种合理的方法吗?
我想在OSGi环境中使用专有的非OSGi jar.对于开发,我们只需使用Maven bundle plugin [1]重新打包/导出它.问题是,出于法律原因,我们将无法将这些包重新分发给我们的客户,这会导致嵌入和重新包装,这是(AFAIK)唯一的选择(参见[2]).
在使用OSGi之前,我们在手册中有一节介绍如何在自己获取这些文件后将这些文件放入库文件夹中.鉴于解决类的OSGi规则,这显然不再适用.
我是否正确地认为解决这个问题的唯一方法是合法的,即从包裹的供应商那里获得再分配许可证(这可能是一个邪恶的噩梦,妨碍及时交付),还是我错过了技术解决方案?