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

时间:2021-05-24 04:04:54

标签: spring spring-boot maven spring-security spring-boot-starter

我父模块中的spring boot版本是v2.1.17.RELEASE

<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-security,指定的版本是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,但是artifactId的版本(比如spring-aop) spring-boot-starter-security 引用的还是5.1.x版本,对应spring-boot-starter-security v2.1.17.RELEASE版本,而不是spring v2.4.4版本对应的5.3.x版本-boot-starter-security

1 个答案:

答案 0 :(得分:0)

嗨,请检查这个例子

<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>
相关问题