前言

之所以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中我们可以看到两个重要的标签propertiesdependencyManagement。标签properties中定义依赖的版本号,标签dependencyManagement中定义好了每一个依赖对应的和当前springboot版本匹配的依赖版本号。
简单介绍一下标签properties和dependencyManagement

properties标签
可以定义一些常量,定义的常量可以在pom的其他标签中进行引用
dependencyManagement标签
提供了一种管理依赖版本号的方式,在dependencyManagement标签中声明了版本号的依赖,在其子项目中,当子项目引入该依赖后,不需要添加版本号,而是会自动找到dependencyManagement中定义的版本号来使用。需要注意的是,在dependencyManagement中定义的只是依赖的声明,并不实现引入,因此子项目需要显式的声明需要用的依赖,才能使用;子项目若显式的声明了自己的版本号,就会使用自己的版本号,但是一般情况下不建议自己声明,自己声明的版本可能会和当前的springboot版本冲突。

为什么springboot项目的pom.xml引入依赖不需要加版本号相关推荐

  1. SpringBoot项目的 pom.xml第一行报错

    当我们第一次创建SpringBoot项目的时候有时会发现SpringBoot项目里的pom.xml第一行报错. 对于这个报错问题,是由于jar包版本太高了. 错误显示 我们要修改jar包的版本 解决方 ...

  2. SpringBoot项目的pom.xml文件中maven-project-info-reports-plugin报红解决办法

    今天在创建SpringBoot项目时发现导包是没有任何问题的,但是pom文件中maven-project-info-reports-plugin一直有报红,如下图所示: 解决方案: 在该pom文件中引 ...

  3. maven项目的pom.xml文件添加依赖

    先把添加依赖的代码放到pom.xml文件里,不出意外会爆红,其实是因为你的maven-repository仓库里没有对应的jar包. 我用的是intellij idea 2022.3的版本,爆红时右上 ...

  4. maven项目的pom.xml 标签的含义

    下面是我新建一个maven项目后生产的pom.xml <?xml version="1.0" encoding="UTF-8"?> <proj ...

  5. SSM整合时Maven项目的pom.xml版本兼容的代码备份

    场景 jdk:1.8 Tomcat:7.0 本地mysql:8.0 Eclipse:Eclipse Jee Photon Spring:4.3.8 AOP:1.8.0 mybatis:3.3.0 My ...

  6. maven项目的pom文件中各标签理解

    本文来说下maven项目的pom文件中各标签理解 文章目录 常用标签 常用标签 POM是项目对象模型(Project Object Model)的简称 pom.xml主要描述了项目的maven坐标,该 ...

  7. 创建 SpringBoot 项目的 3 种方式

    前言 如果你是一个浸淫 SpringBoot 已久的老手,那么可能下面的内容可能不那么适合你,写得很简单.但如果是 对于一个刚学习 SpringBoot 的新手而言,我想多少还是有些用的.本文就来手把 ...

  8. mysql pom.xml版本号_maven的pom.xml的依赖,什么情况下可以不写版本号?

    maven的pom.xml的依赖,什么情况下可以不写版本号?  0  1640 风云剑客 2019/4/23 13:57:36 江苏 苏州 以前见过的pom.xml文件,依赖中都是必须有版本号的. ...

  9. 梳理项目的pom文件

    [前言] Maven是一款十分棒的项目管理工具:毫无疑问pom文件是Maven项目中的命脉,管理着各个jar包之间相互依赖关系: 最近将项目中的pom文件重新梳理了一遍,发现pom文件如果乱了,后续会 ...

最新文章

  1. react 执行 yarn build 页面无法显示
  2. Microsoft Excel软件打开文件出现文件的格式与文件扩展名指定格式不一致?
  3. 格式化显示在Label控件中的金额格式文本 (2)
  4. 4分钟极速甩脂训练!抛开借口!繁忙族必备!
  5. python的底层是c_python基本数据类型底层实现
  6. python ttf svg path_SVG的path的使用
  7. 22岁少年破解史上最严重网络攻击,拯救全球互联网,三个月后却被FBI逮捕
  8. SQLSERVER复制订阅中的数据库版本选择
  9. Android透明效果的实现
  10. echarts-map的使用
  11. 微信unionId和openId
  12. 人脸数据库使用授权求助帖
  13. (6)微信UI自动化-搜索指定联系人(C#)
  14. 戴上这个之后,你再也不是个凡人(doge)
  15. Failed to create/setup connection: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。
  16. javaScript基础语法知识点总结
  17. codewars练习(javascript)-2021/1/19
  18. windows2008 R2安装LoadRunner 11提示WindowsInstaller存储空间不足解决方法
  19. ubuntu 18.04 安装postgre+postgis+pgadmin3+导入shapefile
  20. VSCode 浏览器打开插件

热门文章

  1. 解决访问远程共享时发生 请检查名称的拼写. 否则, 网络可能有问题 故障
  2. 通达信板块监控指标_板块强弱指标(通达信)
  3. 2021年三季度中国生物制品行业A股上市企业营收排行榜:智飞生物业绩突出,8家企业新上榜(附热榜TOP42详单)
  4. 3D点云论文相关论文资料总结
  5. WR | 西湖大学鞠峰组微纳塑料污染对人工湿地菌群与脱氮功能的影响
  6. 图的邻接表存储实现(第七章 P163)
  7. Centos7 二进制安装 Kubernetes 1.13
  8. ios 升级后 不能在xcode 真机运行的报错处理
  9. tensorflow进阶(更新中...)
  10. mawen启动项目css样式失效问题解决方法 EL表达式无效