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