我们有一个非常大的Web应用程序,其中包含许多功能。现在,我们希望将应用程序拆分为组件,以便可以删除/添加特定组件(jar)。对于那个建议即将来临是使用OSGI。我认为将罐子转换成捆绑将需要付出巨大的努力。我认为Maven可以实现相同的功能。根据我的理解,OSGI是包装工具。如果我可以为每个组件制作Maven插件,则可以在编译时包含或删除任何特定组件,而不是像OSGI那样运行时。 使用Maven模块化应用程序比OSGI更简单。我在这个网站上看过类似的帖子,它评论说OSGI和Maven就像比较苹果和橙子。但我认为在某种意义上两者都是相同的,因为它们都意味着包装差异是一个在运行时使用,一个在编译时使用
期待好的回答:)
最好的祝福 SHAILESH答案 0 :(得分:3)
正如你已经暗示过的那样:你将苹果与橙色进行比较。
OSGi 不是一种打包工具。
OSGi包是普通的JAR文件,在Manifest文件中包含一些特定于OSGi的元数据。
您可以使用Maven创建OSGi包,例如使用Maven Bundle Plugin(我可以推荐这种方法)。因此,无论您是否使用OSGi,我强烈建议您使用Maven。
这里是OSGi的一些用例:
答案 1 :(得分:-1)
OSGI不仅仅是一种包装工具。你可以说OSGI里面有一个打包工具。 Maven是一个打包工具和依赖管理器。我会说,考虑到复杂程度以及你说你将使用这项技术的用途,请选择Maven。