首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Maven、OSGi和Bndtools

使用Maven、OSGi和Bndtools
EN

Stack Overflow用户
提问于 2012-05-13 04:50:57
回答 3查看 4.7K关注 0票数 10

今天,有人问我在我们当前的OSGi应用程序中使用Maven是否是一个好主意。我们使用了Bndtools,它非常棒,因为它让开发变得尽可能简单。Bndtools使用OBR来维护其他包和依赖项解析,即使在应用程序运行期间也是如此。

由于Maven广泛传播并如此流行,大多数人也都尝试在OSGi环境中使用它。对我来说,这是两种不同的方法。OSGi有自己的依赖声明,MANIFEST.MF和Maven a pom,您可以在其中声明它们。因此,如果您同时使用它们,您将声明两次依赖关系。当然,你可以使用Apache插件来避免这种情况,OSGi负责创建MANIFEST.MF,但是Maven存储库并不真正关心bundle。因此,可能会发生引用非捆绑包jar的情况。

当然,使用Maven也有好处,但将它与OSGi或特别是Bndtools结合起来真的是一件好事吗?

谁能提供优势或劣势!有人有使用这两种方法的实际经验吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-05-13 17:36:13

我认为,如果你所做的任何事情都是以Maven为中心的,那么Apache Felix Maven插件(顺便说一句,也是基于BND )是可行的。

否则,如果您想使用Maven,但处于一个不太重要的角色,那么Eclipse Tycho很有意义。Tycho是一组Maven插件。

使用Tycho,您可以提供从Eclipse到Maven的目标平台,然后它可以通过查看清单和目标平台来解析所有包。对于Tycho项目,pom.xml文件非常简单,因为它们不包含您的依赖项。

Tycho显然是以Eclipse为中心的。如果你不使用eclipse,我不认为它有多大意义,但有时它更容易合并到现有的项目中。

无论哪种方式,您仍然可以在部署阶段使用Apache Felix Maven插件生成OBR元数据。

票数 8
EN

Stack Overflow用户

发布于 2012-05-13 04:55:07

我认为在OSGi项目中使用Maven效果非常好。你可以使用Felix Maven BND plugin让你的生活变得更轻松。这样,maven就可以在您的本地(或远程) maven存储库中自动生成OBR元数据。这让您也可以将maven存储库视为OBR。它使OSGi项目的工作流程与其他项目一样,而且一切都非常无缝且相当容易使用。

我们在工作中使用它,而Maven确实让事情变得更容易使用。例如,我们使用Maven生成Eclipse项目文件,在CI服务器上运行自动构建,并创建OBR元数据。

票数 4
EN

Stack Overflow用户

发布于 2019-02-19 10:17:47

对于那些现在来问这个问题的人来说,自从最初提出这个问题以来,已经过去了很长时间。Neil Bartlett上面提到的Maven工作已经成熟,Bnd/Bndtools和Maven之间现在已经有了相当好的集成,包括用于Eclipse/Bndtools的m2e连接器。

Neil与Tim Ward就此共同撰写了一个幻灯片:

https://www.slideshare.net/mfrancis/bndtools-and-maven-a-brave-new-world-n-bartlett-t-ward

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10567325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档