如何完全覆盖spring boot starter的版本?

hvvq6cgz  于 2021-10-10  发布在  Java
关注(0)|答案(1)|浏览(394)

我的父模块中的spring引导版本是v2.1.17.0版本

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-dependencies</artifactId>
      <version>2.1.17.RELEASE</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

然后我在子模块中引入了spring boot starter安全性,指定的版本是2.4.4,它覆盖了父模块中的版本(v2.1.17.release)。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
    <version>2.4.4</version>
</dependency>

然后,我运行了 mvn dependency:tree 命令,发现子模块中的spring boot starter security的版本确实是2.4.4,但spring boot starter security中引用的artifactid(如spring aop)的版本仍然是5.1.x版本,对应于v2.1.17.0版本的spring boot starter security,而不是对应于v2.4.4版本的spring boot starter security的5.3.x版本

nx7onnlm

nx7onnlm1#

嗨,请检查这个例子

<properties>
    <dependencies.version>2.1.17.RELEASE</dependencies.version>
    <security.version>2.4.4</security.version>
</properties>
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-dependencies</artifactId>
      <version>${dependencies.version}</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
    <version>${security.version}</version>
</dependency>
  </dependencies>
</dependencyManagement>

相关问题