Maven依赖项中的“ bundle”类型是什么意思?


91

“捆绑”的含义是什么,例如在此依赖项中:

<dependency>
    <groupId>org.apache.abdera</groupId>
    <artifactId>abdera-core</artifactId>
    <version>1.1.2</version>
    <type>bundle</type>
    <scope>compile</scope>
</dependency>

Answers:


83

这种工件是OSGi软件包,通常使用Apache Felix的一部分maven-bundle-plugin产生。

该插件将模块可用的所有类(模块自己的类,依赖项提供的类,类路径上的其他类)视为一个巨型集,然后让您选择这些类的子集以捆绑到jar中。它还创建必要的清单信息,以使工件成为OSGi捆绑包。

因此,您使用此依赖关系获取的工件是一个jar,但是它是通过从更大的类集中选择一个子集而构建的jar,而不仅仅是在abdera-core模块内部定义的类。

如果您查看abdera项目的pom,您将看到maven-bundle-plugin配置,该配置将使您了解哪些类已添加到捆绑包中,哪些已阻止。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.