我刚刚开始 OSGI 开发,正在努力了解如何最好地处理依赖的 JAR。
也就是说,如果我要创建一个捆绑包,我很可能需要使用一些第 3 方 JAR。当我创建要部署到 OSGI 的捆绑包 JAR 时,显然不包含这些第 3 方 JAR,因此该捆绑包将无法运行。
据我了解,一种选择是将这些 JAR 转换为捆绑包,并将它们部署到 OSGI 容器中。但是,如果它们只需要由一个捆绑包使用,那么这似乎并不理想。
对此最好的解决方案是什么? JAR 是否可以嵌入到捆绑包 JAR 中?如果是,这是否是一个合理的方法?
您可以在捆绑包中包含第三方 jar,方法是将第三方 jar 添加到捆绑包 jar 文件的根目录,然后将捆绑包类路径标头添加到捆绑包的清单中,例如:
Bundle-ClassPath: .,my3rdparty.jar
如果要将第三方 jar 放置到子目录中,请指定路径而不使用标题./, e.g
Bundle-ClassPath: .,lib/my3rdparty.jar # (not ./lib/my3rdparty.jar)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)