maven依赖项中类型“bundle”的含义是啥?
Posted
技术标签:
【中文标题】maven依赖项中类型“bundle”的含义是啥?【英文标题】:What is the meaning of type "bundle" in a maven dependency?maven依赖项中类型“bundle”的含义是什么? 【发布时间】:2011-07-20 08:50:32 【问题描述】:“bundle”是什么意思,例如在这个依赖中:
<dependency>
<groupId>org.apache.abdera</groupId>
<artifactId>abdera-core</artifactId>
<version>1.1.2</version>
<type>bundle</type>
<scope>compile</scope>
</dependency>
【问题讨论】:
【参考方案1】:这种工件是一个 OSGi 包,通常使用 maven-bundle-plugin 生成,它是 Apache Felix 的一部分。
插件将模块可用的所有类(模块自己的类、依赖项提供的类、类路径上的其他类)视为一个巨大的集合,然后让您选择这些类的子集捆绑到一个 jar 中。它还创建必要的清单信息以使工件成为 OSGi 包。
因此,您使用此依赖项引入的工件是 jar,但它是通过从更大的类集中选择一个子集构建的 jar,而不仅仅是在 abdera-core 模块中定义的类。
如果您查看the pom for the abdera project,您会看到maven-bundle-plugin
配置,它可以让您了解哪些类已添加到捆绑包中,哪些类已被阻止。
【讨论】:
以上是关于maven依赖项中类型“bundle”的含义是啥?的主要内容,如果未能解决你的问题,请参考以下文章
Mixfile 依赖项中的“runtime: false”是啥意思?
package.json 依赖项中的“下一个”到底是啥意思?
如何找出是不是在 Maven 应用程序中使用了依赖项中的任何类?