Java OSGi嵌套JAR的Maven范围(私有和共享依赖)

Java OSGi嵌套JAR的Maven范围(私有和共享依赖),java,maven,osgi,dependency-management,Java,Maven,Osgi,Dependency Management,Maven有几个,但是这些都不适合OSGi概念 OSGi依赖项是不可传递的 好的,可以将其指定为排除 OSGi捆绑包可以使用一些依赖项,但不导出其模块。有点像“私人依赖” 好的,只需使用maven提供的范围,这是不可传递的 OSGi捆绑包可以使用一些依赖项,并导出其全部或部分包。类似于“共享依赖性” 这很棘手,因为OSGi有更细粒度的基于包的导出。只需假设所有包都已导出,或者那些未导出的包并不重要。 但这会让Maven可选依赖项变得混乱 Maven有没有办法开始使用OSGi语言并给出类似的范围

Maven有几个,但是这些都不适合OSGi概念

  • OSGi依赖项是不可传递的
  • 好的,可以将其指定为排除

  • OSGi捆绑包可以使用一些依赖项,但不导出其模块。有点像“私人依赖”
  • 好的,只需使用maven
    提供的
    范围,这是不可传递的

  • OSGi捆绑包可以使用一些依赖项,并导出其全部或部分包。类似于“共享依赖性”
  • 这很棘手,因为OSGi有更细粒度的基于包的导出。只需假设所有包都已导出,或者那些未导出的包并不重要。 但这会让Maven可选依赖项变得混乱

    Maven有没有办法开始使用OSGi语言并给出类似的范围

    • private
    • 导出
      /
      公共

    有没有将Maven用于非平凡OSGi项目的好例子?

    Maven有一个插件,可以完成创建OSGi捆绑包所需的一切工作。它是

    Maven是一个构建工具,它的作用域与它构建的应用程序的作用域不同。也就是说,maven提供的范围是用于开发的,并且只与项目相关

    Maven bundle插件基于


    如果您使用eclipse,那么eclipse已经支持在中开发OSGI捆绑包。

    当然,OSGI依赖关系是可传递的!我无法理解问题的其余部分。嗯,我可能需要用新问题再试一次。无论如何,根本不需要向Maven添加额外的作用域来支持构建捆绑包。只需使用
    bnd-maven插件
    maven bundle插件
    ,就完成了。