Maven BOM 依赖性

我不明白bom对象的目的是什么? 我正在使用Spring 3.2.8版本和JBoss服务器,所以我需要使用哪个bom依赖项? 当我在pom.xml中提到以下依赖项时:

 org.springframework spring-framework-bom 4.0.1.RELEASE pom import  

jar文件是否会下载到我的Maven依赖项中?

bom对象的目的是什么?

Maven父子关系非常便于在一个地方管理多个项目的依赖关系。 但是,Maven项目只能有一个(直接)父项。 因此,引入了依赖项管理的导入,以允许使用多个项目来管理依赖项。 通过导入,您可以定义这样的单个依赖项,并管理多个依赖项 – 方便! 虽然您可以导入任何项目,但BOM是一个特殊项目,旨在用于此类导入。 通常,BOM项目除了dependencyManagement部分之外几乎没有定义,并且不会有任何不相关的依赖项,以避免过多地影响您的主项目。

我需要使用哪种bom依赖?

BOM不是必需的,您也不需要使用。 相反,您可以自己在dependencyManagement部分中定义所有托管依赖项。 这些可以包括Spring,JBoss和任何其他依赖项。 然而,BOM显着简化了这一点。 您可以根据需要添加任意数量的物料清单,因此请同时添加两者! 但正如@Jesper所提到的,不要忘记使用正确的版本。 使用多个BOM时,如果它们都引用了公共依赖关系,那么它们的顺序就很重要。

jar文件是否会下载到我的Maven依赖项中?

注意BOM是pom ,而不是默认的jar 。 所以没有jar可以下载。 Maven将下载并读取单个pom.xml文件。