为什么springboot项目的pom.xml引入依赖不需要加版本号
前言之所以springboot项目pom.xml中添加依赖不需要添加版本号,是springboot开发团队,为了用户开发中发生依赖冲突而考虑的,项目中会自动配置当前springboot的版本和其他依赖的兼容版本号。具体我们看下pom.xml中的代码每一个springboot项目都会一个父工程spring-boot-starter-parent,该工程中,通过描述信息,可以看到是为应用提供依赖和插件
前言
之所以springboot项目pom.xml中添加依赖不需要添加版本号,是springboot开发团队,为了用户开发中发生依赖冲突而考虑的,项目中会自动配置当前springboot的版本和其他依赖的兼容版本号。
具体我们看下pom.xml中的代码
每一个springboot项目都会一个父工程spring-boot-starter-parent,该工程中,通过描述信息,可以看到是为应用提供依赖和插件管理的,浏览一遍后,可以发现,这个pom.xml中定义了一些插件管理,项目的编码,jdk版本,编译的jdk版本,开发人,lisence等信息,但是并没有依赖管理的信息;而这些依赖管理的信息在它的父工程spring-boot-dependencies中定义。
接下来,我们看一下spring-boot-dependencies的pom.xml
在这个pom.xml中我们可以看到两个重要的标签properties和dependencyManagement。标签properties中定义依赖的版本号,标签dependencyManagement中定义好了每一个依赖对应的和当前springboot版本匹配的依赖版本号。
简单介绍一下标签properties和dependencyManagement
properties标签
可以定义一些常量,定义的常量可以在pom的其他标签中进行引用
dependencyManagement标签
提供了一种管理依赖版本号的方式,在dependencyManagement标签中声明了版本号的依赖,在其子项目中,当子项目引入该依赖后,不需要添加版本号,而是会自动找到dependencyManagement中定义的版本号来使用。需要注意的是,在dependencyManagement中定义的只是依赖的声明,并不实现引入,因此子项目需要显式的声明需要用的依赖,才能使用;子项目若显式的声明了自己的版本号,就会使用自己的版本号,但是一般情况下不建议自己声明,自己声明的版本可能会和当前的springboot版本冲突。

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)