当前位置: 首页 > 知识库问答 >
问题:

Maven中的BOM依赖与父依赖

壤驷泓
2023-03-14

我想知道pom中父项和BOM之间的区别。看起来两者都解决了相同的问题,即您不希望在每个单独的项目中包含版本,而是在中心(父/BOM)专家中维护它。

谁能帮我理解?谢谢。

共有1个答案

杜君浩
2023-03-14

您只能有一个父级,但可以将多个材料明细表导入到 Maven 项目中。

此外,导入BOM将只导入dependencyManagement,而拥有父项将导入pom中的所有内容。

当您想要提供一组默认配置时,这特别有用,因为当您设置父插件时,您会继承在这些插件中完成的所有插件版本(和配置)。

 类似资料:
  • 问题内容: 我不明白bom对象的目的是什么?并且我正在使用Spring 3.2.8版本以及JBoss服务器,那么我需要使用哪个bom依赖关系?当我在pom.xml中提到以下依赖项时: jar文件是否已下载到我的Maven依赖关系中? 问题答案: Bom对象的目的是什么? Maven父子关系对于在单个位置管理多个项目的依赖关系非常方便。但是,Maven项目只能有一个(直接)父级。因此引入了用于依赖性

  • 我们有一个模块化项目,包含大约10个工件: 此外,一些工件之间存在依赖关系: 我们当前的设置如下所示: parent是包含父POM的工件 这个父POM定义了所有必要的依赖项(比如Spring、JPA等等)进来 我们所有的工件也都在中定义 我们的工件将父工件称为明显的父工件 只有父POM定义版本。其他所有的POM都没有 我们使用三个数字的版本控制方案: 例如: 问题是: 一旦我们更改了工件的版本(例

  • 主要内容:依赖声明,获取依赖坐标Maven 是一款优秀的依赖管理工具,那么什么是依赖呢? 通俗的说,如果一个 Maven 构建所产生的构件(例如 Jar 文件)被其他项目引用,那么该构件就是其他项目的依赖。 依赖声明 Maven 坐标是依赖的前提,所有 Maven 项目必须明确定义自己的坐标,只有这样,它们才可能成为其他项目的依赖。当一个项目的构件成为其他项目的依赖时,该项目的坐标才能体现出它的价值。 当 Maven 项目需要声

  • 我想知道以下jar的所有传递依赖项: 将经典命令移动到pom。项目定义依赖关系和输入的xml: mvn依赖:树 将显示: 我没看到魔咒父母: 乍一看,mvn命令似乎可以显示非pom类型的依赖项。 有没有一种方法可以精确地显示使jar保持活动状态所需的每个文件? 谢谢

  • 我目前正在开发一个Gradle 5项目,导入两个不同的Maven BOM。因此,我使用本地Gradle语法,而没有依赖项管理插件。但是,两个BOM可以为相同的依赖项定义不同的版本。 据我所知,在Maven中,定义给定依赖项版本的第一个BOM决定了它。相反,在Gradle依赖项管理插件中,定义给定依赖项版本的最后一个BOM表决定了它。 如何在纯Gradle 5中处理进口BOM的订单?

  • Spring Data JPA文档建议使用Maven BOM(物料清单),原因是: 由于个别spring数据模块的启动日期不同,大多携带不同的主、次版本号。找到兼容的最简单的方法是依靠spring数据发布列车BOM,我们与定义的兼容版本一起出货。在Maven项目中,您可以在POM的部分声明此依赖项 提供了官方实例的参考。 我有了BOM和的概念。供应商正式向我们(开发人员)提供测试/推荐/支持的兼容

  • 我在父pom中有一个版本为2.3的Jackson,在我的子pom中我需要版本2.9,是否有任何方法排除父pom依赖?

  • 主要内容:排除依赖,可选依赖,排除依赖 VS 可选依赖 我们知道 Maven 依赖具有传递性,例如 A 依赖于 B,B 依赖于 C,在不考虑依赖范围等因素的情况下,Maven 会根据依赖传递机制,将间接依赖 C 引入到 A 中。但如果 A 出于某种原因,希望将间接依赖 C 排除,那该怎么办呢?Maven 为用户提供了两种解决方式:排除依赖(Dependency Exclusions)和可选依赖(Optional Dependencies)。 排除依赖