我有一个maven项目,它的spring-boot-starter-parent
版本为2.7.10
,父版本为spring-boot-starter-web
,依赖版本为spring-boot-starter-web
。
我升级了spring-boot-starter-web
以使用<version>3.0.5</version>
。
但是在mvn dependency:tree中,我仍然得到spring-webmvc
旧版本,即5.3.20。
当我试图打开spring-boot-starter-web
的pom时,它清楚地显示了编译依赖:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>6.0.7</version>
<scope>compile</scope>
</dependency>
谁能帮我理解为什么升级spring-boot-starter-web
版本没有升级spring-webmvc版本?我已经明确添加了解决这个问题:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>3.0.5</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>6.0.7</version>
<scope>compile</scope>
</dependency>
但我不确定这是否是升级这种层次依赖关系的正确方法。
注意:我的最终目标是将spring-webmvc从5.3.20升级到6.0.7
2条答案
按热度按时间mwyxok5s1#
你应该只在父pom中管理版本。尝试将spring-boot-starter-parent升级到3.0.5,并让spring-boot-starter-web的版本是隐式的(删除版本标记)。如果你想要更精确的依赖管理,而不是让你的父版本泄漏,请使用dependencyManagement标记
83qze16e2#
要获取
spring-webmvc
的依赖项路径,请运行:输出示例(显示
spring-core
,因为这是我碰巧拥有的可用项目):树的第一行是你的项目,第二行是它的直接依赖关系,第三行及以后是传递依赖关系。
一旦你知道是哪一个,你可以: