【发布时间】:2015-01-21 21:18:47
【问题描述】:
新的 Spring 版本中提供的物料清单功能有什么重要用途,基本上这个名字听起来不错但搜索了重要但我没有找到它?
【问题讨论】:
标签: spring-boot maven maven-3
新的 Spring 版本中提供的物料清单功能有什么重要用途,基本上这个名字听起来不错但搜索了重要但我没有找到它?
【问题讨论】:
标签: spring-boot maven maven-3
材料清单(又名 BOM)更像是一个 Maven 概念,而不是 Spring 概念。
当引入 import 范围时,它随 Maven 的 2.0.x 版本出现。
此范围允许您在 <dependencyManagement> 部分中声明 pom 依赖项,这将导致依赖项及其依赖项目 dependencyManagement 部分的某种合并。
BOM 概念将这个范围付诸实践,这只不过是一个具有 pom.xml 包装性质的项目 pom 并且其中只有 <dependencyManagement> 部分,我们在其中声明了所有项目依赖项(在您的情况下应该是 Spring 的),它们对齐在一起并且应该开箱即用。
您可以将BOM项目视为声明所有相关项目版本的依赖目录,从而节省您的版本解析工作。
您的 BOM 导入到您的项目描述符中,在声明依赖项时不再需要声明版本,因为它将继承自导入的 pom,它应该类似于以下内容:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId> <!-- or any other spring related artifact -->
</dependency>
【讨论】: