“捆绑”的含义是什么,例如在此依赖项中:
<dependency>
<groupId>org.apache.abdera</groupId>
<artifactId>abdera-core</artifactId>
<version>1.1.2</version>
<type>bundle</type>
<scope>compile</scope>
</dependency>
Answers:
这种工件是OSGi软件包,通常使用Apache Felix的一部分maven-bundle-plugin产生。
该插件将模块可用的所有类(模块自己的类,依赖项提供的类,类路径上的其他类)视为一个巨型集,然后让您选择这些类的子集以捆绑到jar中。它还创建必要的清单信息,以使工件成为OSGi捆绑包。
因此,您使用此依赖关系获取的工件是一个jar,但是它是通过从更大的类集中选择一个子集而构建的jar,而不仅仅是在abdera-core模块内部定义的类。
如果您查看abdera项目的pom,您将看到maven-bundle-plugin
配置,该配置将使您了解哪些类已添加到捆绑包中,哪些已阻止。