maven父pom中修改properties会影响子pom中的dependency版本吗

maven父pom中修改properties会影响子pom中的dependency版本吗

问题描述:

父pom:

<properties>
<log4j2.version>2.15.0</log4j2.version>
</properties>

子pom:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
<version>2.2.7.REALEASE<version>
</dependency>

其中子pom的log4j-core版本是2.12

那么在父pom中设置了log4j2版本后,会使子项目的log4j-core升级到2.15吗?

你项目的parent是spring-boot-starter-parent,spring-boot-starter-parent的parent是spring-boot-dependencies,spring-boot-dependencies中的dependencyManagement配置了log4j2的版本,你不需要在自己的pom.xml中额外增加dependencyManagement配置了

Maven 父pom中dependencyManagement版本优先级高于传递依赖版本

https://blog.csdn.net/z69183787/article/details/106214481

会的,不放心的话可以使用maven helper 插件查看下pom依赖树

springboot 实际使用dependencyManagement控制jar包版本,而dependencyManagement中引用log4j2.version属性值,该值默认是2.12,你在自己的父工程改为2.15实际上起到了覆盖属性值的作用。

img