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

从父POM覆盖spring-boot版本

马天逸
2023-03-14

我有多个spring项目,它们都具有相同的自定义父POM,它们都继承了它们的spring-boot版本(1.5.18.release)。只有一个子项目需要更新到版本2.1.4.release,但是当我导入spring-boot-dependencies时,子项目中的spring-boot dependencies仍然保持在版本1.5.18.release。

定义父POM:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.18.RELEASE</version>
    <relativePath /> <!-- lookup parent from repository -->
</parent>

<groupId>com.example</groupId>
<artifactId>services</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>

<name>Services :: Parent</name>
<description>Parent Project for Services</description>
<parent>
    <artifactId>services</artifactId>
    <groupId>com.example</groupId>
    <version>0.0.1-SNAPSHOT</version>
    <relativePath>../services/pom.xml</relativePath>
</parent>

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

共有1个答案

楚和悌
2023-03-14

您必须将父级更新为2.1.4.release。这是因为如果孩子和父母不同步,可能会出现很多发展问题。提示:您可以删除子依赖项中的版本标记。

 类似资料:
  • 我有这样配置的父pom: 我的孩子波姆: 我想在我的类路径中使用4.3.5版本,因为目前我收到错误消息,不应修改父版本: 任何想法如何防止覆盖4.2.9版本?

  • 在我的项目中,我们有一个不在我们控制范围内的父模块,它使用。但不知何故,我想使用最新版本的mongodb驱动核心和spring data mongodb。如何从父模块重写此项? 我已经浏览了链接:https://spring.io/blog/2016/04/13/overriding-dependency-versions-with-spring-boot,但不适合我。 我想覆盖Spring Bo

  • 是否有一个具体的推荐方法将spring启动的父pom包含到已经有一个必需的父pom的项目中? 对于需要从组织父级扩展的项目,您有什么建议(这是非常常见的,甚至是许多/大多数项目发布到Maven central,这取决于它们来自的feeder Repo)。大部分构建内容都与创建可执行JAR相关(例如,运行嵌入式Tomcat/Jetty)。有一些方法可以对事物进行结构化,这样您就可以获得所有的依赖关系

  • 对于Spring Boot2.1,默认情况下禁用bean重写,这是一件好事。 然而,我确实有一些测试,其中我使用mockito用模拟实例替换bean。在默认设置下,使用这种配置的测试将由于bean重写而失败。 我发现唯一有效的方法是通过应用程序属性启用bean重写: 但是,我真的希望确保测试配置的bean定义设置最小,这一点将由spring在禁用重写的情况下指出。 我正在重写的bean是 在导入到

  • 我最终得到一个编译错误:

  • 当我使用mvn install构建工件时,我看到JAR在我的.m2文件夹中构建,但是Project.version没有替换为实际版本,即1.0-Snapshot。 > 每个工件的.m2存储库中的父pom和/或子pom是否具有指定的版本,或者是否为Project.version 我是否应该在父POM中指定Project.Version作为属性。maven文档说明Project.version可由De