OSGI vs Maven是更好的包装工具

时间:2015-05-21 12:25:56

标签: maven osgi-bundle

我们有一个非常大的Web应用程序,其中包含许多功能。现在,我们希望将应用程序拆分为组件,以便可以删除/添加特定组件(jar)。对于那个建议即将来临是使用OSGI。我认为将罐子转换成捆绑将需要付出巨大的努力。我认为Maven可以实现相同的功能。根据我的理解,OSGI是包装工具。如果我可以为每个组件制作Maven插件,则可以在编译时包含或删除任何特定组件,而不是像OSGI那样运行时。 使用Maven模块化应用程序比OSGI更简单。我在这个网站上看过类似的帖子,它评论说OSGI和Maven就像比较苹果和橙子。但我认为在某种意义上两者都是相同的,因为它们都意味着包装差异是一个在运行时使用,一个在编译时使用

期待好的回答:)

最好的祝福 SHAILESH

2 个答案:

答案 0 :(得分:3)

正如你已经暗示过的那样:你将苹果与橙色进行比较。

OSGi 是一种打包工具。

OSGi包是普通的JAR文件,在Manifest文件中包含一些特定于OSGi的元数据。

您可以使用Maven创建OSGi包,例如使用Maven Bundle Plugin(我可以推荐这种方法)。因此,无论您是否使用OSGi,我强烈建议您使用Maven。

这里是OSGi的一些用例:

  • 您想要创建不同版本的应用,例如为不同的客户。使用OSGi,您只需添加/删除捆绑包,而无需触及任何其他配置。
  • 您需要一个插件系统,以便第三方可以为您的应用程序提供插件
  • 您希望您的应用程序真正模块化
  • 您希望与其他应用程序共享一些代码,但希望隐藏一些内部类
  • ...

答案 1 :(得分:-1)

OSGI不仅仅是一种包装工具。你可以说OSGI里面有一个打包工具。 Maven是一个打包工具和依赖管理器。我会说,考虑到复杂程度以及你说你将使用这项技术的用途,请选择Maven。