<dependencies>
标记和<Import-Package>
标记中提到的捆绑包之间是否存在任何关系?我的意思是如果我们不定义依赖,那么maven-bundle-plugin无法在<Import-Package>
标签中找到包?
答案 0 :(得分:4)
Maven使用依赖项部分中列出的jar来创建类路径。 bnd(maven bundle插件中的引擎)使用此类路径来分析代码通过字节代码分析引用的内容。
maven dependency -> classpath -> bnd analysis -> import statements
答案 1 :(得分:2)
Import-Package
用于优化maven bundle插件自动为您生成的包导入列表。例如,您可以声明某些导入是可选的,或者为只能通过反射访问的类添加导入。在大多数情况下,没有必要为Import-Package
指定任何内容,因为默认值为*
- 也就是说,将导入字节码中引用的任何外部包。
dependencies
部分提供编译器生成字节码所使用的包池,以及bnd(这是封装下的bundle插件)以改进包导入。例如,它将根据依赖项列表(或传递依赖项)中的提供包中的导出版本添加版本范围。