osgi应用程序中非osgi库的用法

osgi应用程序中非osgi库的用法,第1张

osgi应用程序中非osgi库的用法

如先前答案中所写,如果要在包中使用其他库,则有两个选择:

  1. 将库jar嵌入将在其中使用的捆绑软件中,
  2. 从库中创建有效的OSGi捆绑包。

一种方法 比较简单,因为您只需要将库jar(及其所有依赖项)复制到包(例如,复制到根目录)中,然后将它们添加到中的

Bundle-Classpath
元素中
MANIFEST.MF
(请参见此处)。但是,在执行此 *** 作时,您必须记住,此添加的库仅在嵌入它的捆绑包中才可见(因此,库重用受到限制)。您总是可以从该库中将包添加到
Export-package
元素中,
MANIFEST.MF
以使其对其他捆绑包可见,但这远不是优雅的解决方案(但是它将起作用)。

为了使其对其他捆绑包可见,您应该使用 第二种方法
,即从库中创建OSGi捆绑包(有一些工具可以在Eclipse中帮助您做到这一点)。但是,对于更复杂的库,此方法可能会更困难(由于OSGi中的依赖关系和特定的类加载方法)。

因此,如果您只想在一个捆绑软件中使用该库,我建议您使用第一种方法(易于实现)。如果要在应用程序的许多捆绑软件中使用此库,则应考虑第二种方法。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5565401.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存