今天我被问到在我们当前的Osgi应用程序中使用Maven是个好主意.我们使用bndtools和它的伟大,因为它使开发尽可能容易. bndtools使用OBR来维护其他捆绑包和依赖关系分辨率,即使在应用程序运行.
由于Maven广泛传播并且非常受欢迎,所以大多数人都尝试在Osgi环境中使用它.对我来说,这是两种不同的方法. Osgi有一个自己的依赖声明,MANIFEST.MF和Maven一个pom,您可以在其中声明它们.所以如果你使用这两个,你将声明依赖关系两次.当然,您可以使用Apache Osgi Maven插件来避免它,Maven负责创建MANIFEST.MF.但是Maven存储库并不关心bundle.所以可能会发生,你正在引用一个非捆绑jar.
当然,使用Maven有优势,但是将其与Osgi或特殊的bndtools结合起来真的是件好事吗?
有人可以提供优势或劣势!有人有实践经验使用两者吗?