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

Maven和spring启动依赖项

邹英发
2023-03-14

我有一个Maven多模块项目,在主pom中将一些旧版本的Spring Boot依赖项设置为父项。xml。所有子模块都从这个主pom继承Spring Boot依赖项。xml。

这很好,但是在一个新的子模块(也是多模块)中,我想使用最新的Spring引导版本,而不改变项目中正在使用的版本(以及所有依赖项)。

有没有办法巧妙地覆盖从父版本派生的Spring引导版本(及其所有依赖项),并在子模块中使用不同的版本?我试图在中设置Spring引导的显式版本


共有1个答案

姜振濂
2023-03-14

有没有办法巧妙地覆盖从父模块派生的spring boot版本(及其所有依赖项),并在子模块中使用不同的版本?

不。当你使用特定版本的Spring Boot作为父母(或祖父母等)时,你是在说你想使用的就是这个版本的Spring Boot。

我试图在所有新模块的子模块的pom中设置属性内spring boot的显式版本。xml文件,但没有运气。

如果这确实有效,您将最终使用Spring Boot版本X的父级配置,例如该版本的Maven插件管理以及Spring Boot版本Y的依赖项。这种版本的混合可能会导致奇怪和意想不到的行为,很难诊断。

如果您希望能够混合和匹配这样的版本,您应该避免使用Spring Boot中的父级,而是应该导入sping-boo-依赖项

<dependencyManagement>
    <dependencies>
        <dependency>
            <!-- Import dependency management from Spring Boot -->
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>1.3.2.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

这使您可以完全控制版本,而不必定义您自己需要的任何插件管理。还值得注意的是,您不能重写导入的pom的属性。

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

  • 我认为这是spring boot Framework内部的依赖问题: 依附性层次制 所以我在pom.xml中添加了以下几行: 拉维。

  • 我在Netbeans-8工作 我正在构建两个项目。Project1是Project2的依赖项。 如果我在两个项目中都做了更改1 我碰巧经常更改项目1。在我的IDE中使用maven之前,我习惯于构建一个依赖项目,也构建它的依赖项。我的意思是这就是构建系统中的依赖项的全部含义... 如何解决这个问题,以便project2上的“使用依赖项构建”也构建project1?

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

  • 这里是Java 8,Spring Boot 1.5.8和Gradle 4.6。 我正在构建一个Spring Boot应用程序,并使用内置的Gradle任务为其生成一个自包含的、可执行的“胖”jar。另一个团队生成了一个依赖项JAR,我需要将其合并到我的项目中。 几个月后,我们将建立一个二进制存储库,他们将向其发布库的新版本,我将从中解析/提取。但目前,我仍然停留在有点苛刻的分发模型中,他们通过电子

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