Maven 物料清单 [物料清单] 依赖关系

2022-09-02 00:24:37

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

<dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-framework-bom</artifactId>
            <version>4.0.1.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
</dependency>

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


答案 1

bom 对象的目的是什么?

Maven 父子关系对于在单个位置管理多个项目的依赖项非常方便。但是,Maven 项目只能有一个(直接)父级。因此,为依赖关系管理引入了导入,以允许使用多个项目来管理依赖关系。通过导入,您可以像这样定义单个依赖项,并管理多个依赖项 - 方便!尽管您可以导入任何项目,但 BOM 是一个特殊项目,旨在用于此类导入。通常,除了部分之外,BOM项目的定义很少,并且不会有任何不相关的依赖项,以避免对主项目产生太大影响。dependencyManagement

我需要使用哪个 bom 依赖项?

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

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

注意 BOM 是 ,而不是默认的 。因此,没有要下载的jar。单个pom.xml文件将被Maven下载并读取。<type>pom</type>jar


答案 2

推荐