当前位置: 首页 > 面试题库 >

Maven BOM [物料清单]依赖性

亢建白
2023-03-14
问题内容

我不明白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项目在dependencyManagementsection
之外几乎没有定义,并且不会有任何不相关的依赖关系,以避免对您的主项目造成太大影响。

我需要使用哪种Bom依赖关系?

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

jar文件是否已下载到我的Maven依赖关系中?

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



 类似资料:
  • 问题内容: 我最近才刚刚开始自学SQL,并且能够将各种教程中所需的几乎所有内容组合在一起,但这使我无法自拔。我们有一个表格,其中包含我们产品的所有物料清单信息。我只需要其中的4列-PPN_I,CPN_I,QUANTITY_I,BOMNAME_I- 分别是项目编号,原材料编号,数量和BOMName。许多BOM都包含子装配体。我需要一个结果集,其中列出了BOM表的所有组件,无论级别如何。我很确定我需要

  • 我们想使用谷歌提供的最新的材料设计界面元素。因此,我在我们的项目gradle文件中添加了。但是从那以后,我得到了以下错误。 清单合并失败:属性application@appComponentFactory值=(androidx.core.app.CoreComponentFactory)来自[androidx.core:core:1.0.0-beta01]AndroidManifest。xml:2

  • 问题内容: 是否有一种方法(例如,Maven插件)可以获取不需要的/黑名单的依赖项列表(直接和传递),并且如果检测到列出的依赖项之一,则构建失败? 在我的项目中,我们严格地希望摆脱Apache Commons Logging并将其替换为SLF4J JCL Bridge。我知道我们必须排除自己的不必要的部门,但是如果有人添加了一个依赖项并将其列入黑名单,那么我希望构建失败。 问题答案: 您可以使用禁

  • 如何读取其-依赖关系中的-file清单属性? UPD:这里不使用servlet(这是Springbean初始化代码)。

  • 我正在创建一个扩展,该扩展通过使用Codenvy提供的REST API来实现过程的自动化。然而,我遇到了多部分/表单数据POST请求的麻烦。具体地说,就是创建一个新工厂。 这是我的Ajax/jQuery调用: 但我得到一个409错误的消息: 在多部分/表单-数据的“工厂URL”部分中找不到工厂URL信息 我已经在Codenvy论坛上发了帖子,但我得到的唯一有用的东西是一个curl命令

  • 问题内容: 我是Java的新手,我需要列出列表列表。我可以在python中做到这一点,因为列表的元素可以是列表,因此在嵌入式列表中将引用列表,并且将引用嵌入式列表的zeroeth元素。有什么简单的方法可以在Java中实现此行为? 问题答案: 所有其他答案在技术上都是正确的,但是恕我直言,如果您实施了粗略的列表列表,您将无法在正确的抽象级别上处理数据。例如,我很确定列表列表在您的业务领域中已经意味着