【发布时间】:2016-08-13 11:45:09
【问题描述】:
Maven 有几个dependency scopes,但是这些都不能很好地适应 OSGi 概念。
- OSGi 依赖项是不可传递的。
好的,可以指定排除all transitive dependencies
- OSGi 包可以使用一些依赖项,但不要导出它的模块。诸如“私人依赖”之类的东西
好的,只需使用 maven provided 范围,即不是不传递。
- OSGi 包可以使用一些依赖项,并导出其全部或部分包。 “共享依赖”之类的东西
嗯,这很棘手,因为 OSGi 具有更精细的基于包的导出。只需假设所有包都已导出,或者那些未导出的包无关紧要。 但这会与 Maven 可选依赖项 1、2 混淆
有没有办法让 Maven 开始说 OSGi 语言并给出类似的范围
private-
exported/public
有没有将 Maven 用于非平凡的 OSGi 项目的好例子?
【问题讨论】:
-
OSGi 依赖关系 当然是可传递的!我无法理解剩下的问题。
-
好吧,我需要用新问题再试一次
-
也许吧。无论如何,根本不需要向 Maven 添加额外的范围来支持构建包。只需使用
bnd-maven-plugin或maven-bundle-plugin即可完成。
标签: java maven osgi dependency-management