pogx原创:转载请声明出处
为什么我们在创建基于maven构建的springboot项目时引入springboot其他依赖而不用指定版本号呢?
其实这个问题可能和springboot没有关系,只是我们在用springboot创建web项目时,发现了这个问题,这其实就是maven的依赖管理,到github的springboot项目上看看pom文件会发现
注意这个dependencyManagement标签。
这个标签放在父项目中,表示我在父项目中进行依赖管理,当子项目需要这个依赖时只需要引入groupId和artifactId即可,而不用添加版本号。
下面问题来了,那如果我不用这个dependencyManagement标签呢,会怎样呢?
如果不在dependencies标签之外添加dependencyManagement标签,maven会把父项目的所有依赖全部添加到子项目中,这样会导致子项目的依赖会无故增加很多我们用不到的项目依赖
有关maven的更多更详细的教程请参考maven官网 https://maven.apache.org/maven官网