今天有人问我在我们当前的 OSGi 应用程序中使用 Maven 是否是一个好主意。我们使用了 Bndtools,它很棒,因为它使开发尽可能简单。即使在应用程序运行期间,Bndtools 也使用 OBR 来维护其他包和依赖项解析。
由于 Maven 广泛传播并且如此受欢迎,因此大多数人都尝试在 OSGi 环境中使用它。对我来说,这是两种不同的方法。OSGi 有自己的依赖声明,MANIFEST.MF 和 Maven 一个 pom,您可以在其中声明它们。所以如果你同时使用它们,你将声明依赖两次。当然,您可以使用 Apache OSGi Maven 插件来避免它,Maven 负责创建 MANIFEST.MF。但是 Maven 存储库并不真正关心捆绑包。因此,您可能会引用非捆绑 jar。
当然,使用 Maven 也有好处,但是将它与 OSGi 或特别与 Bndtools 结合真的是一件好事吗?
有人可以提供优点或缺点!有人使用这两种方法的实际经验吗?