我正在开始一个编写 OSGi 包并使用 Maven 作为构建管理工具的项目。我的理解是对于 OSGi 捆绑包,您可以选择要保持私有(private)/公开的包。
这是问题:
com.example
的捆绑包包作为导出包并声明com.example.internal
作为私有(private)包,在构建期间有什么方法可以检测到 com.example.internal
的使用吗? (构建应该失败)? 如果 Eclipse 可以在开发期间检测到这将是很棒的,但我非常怀疑它可以。
最佳答案
一种选择是使用 Eclipse 的插件开发环境 (PDE),这是一套支持 OSGi 的工具。它不会让您针对内部包进行编译,因此它为您提供了开发时检查。与 maven 的 bundle 插件不同,它是 manifest-first 而不是 code first,这并不符合每个人的口味。
要将 PDE 与 Maven 集成,最好的办法是使用 Maven Tycho plugin .这在 Maven 中为您提供了一个完全支持 OSGi 的编译阶段。
关于maven - OSGi 和 Maven 检测私有(private)包的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10954288/