java - Maven BOM [Bill Of Materials] 依赖

我不明白 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 依赖项中?

最佳答案

bom 对象的用途是什么?

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

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

BOM 不是必需的,您也不需要使用。相反,您可以自己在 dependencyManagement 部分中定义所有托管依赖项。这些可以包括 Spring、JBoss 和任何其他依赖项。然而,BOM 为您大大简化了这一过程。您可以根据需要添加任意数量的 BOM,因此请同时添加!但正如@Jesper 提到的,不要忘记使用正确的版本。使用多个 BOM 时,如果它们都引用公共(public)依赖项,它们的顺序将很重要。

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

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

https://stackoverflow.com/questions/38496022/

相关文章:

java - j2ee Web 应用程序的标准项目/包结构

spring - 为所有 Spring Boot 执行器端点添加前缀

spring - 无法访问 Spring Boot Actuator "/actuator"端点

java - Spring RestTemplate 发布响应

java - 缺少工件 javax.transaction :jta:jar:1. 0.1B(问题不

http - Spring 3.0 HEAD 请求

spring - Java Spring AOP : Using CustomizableTrace

java - Java Spring中的重载 Controller 方法

java - 上下文 :property-placeholder not working for m

java - 如何在 Hibernate 中用 TableGenerator 替换已弃用的 Mult