在搭建多模块项目的时候,出现了这个问题。
spring-boot-starter-web
等依赖是从spring-boot-starter-parent
这里继承来的,而且被我放在了父pom文件的<dependencyManagement>
标签中,静态编译没有报错,我这里也就没有对继承自spring-boot-starter-parent
的依赖添加版本号管理,我在子pom中再一次引用了spring-boot-starter-web
等依赖。
以上是问题的简单复述,出现此问题的原因如同报错所说,我这个依赖欠缺一个版本号,父pom中<dependencyManagement>
标签中的依赖只有添加了版本号才能由子pom不声明版本号就引入依赖。
因此遇到这种情况,有两种办法,
第一种,去spring-boot-starter-parent中找到你引入依赖的版本号,在父pom的<dependencyManagement>
标签中加入依赖的版本号管理,自然不会再错。
第二种方法比较简单,不在父pom的<dependencyManagement>
标签引入spring-boot-starter-parent
这里继承来的依赖,而直接放入需要的模块的pom中,也可直接继承。