为什么springboot依赖不写版本号?

xml 复制代码
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

有时候我们看到SpringBoot项目的依赖不写版本号,为什么这样呢?这样可以吗?为什么不报错?

也就是说为什么在有的spring项目中的maven配置中,写依赖<dependencies>时,有的不用写版本号<version>

为什么在有的spring项目中的maven配置中,写依赖时,有的不用写版本号

一、第一种情况:

java 复制代码
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

如同以上

一般出现这种情况,是因为。

  1. 继承了spring-boot的配置,这里引入spring-boot-starter-parent的好处是在添加启动器时不用申明版本号!
java 复制代码
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.3.3.RELEASE</version>
</parent>

因为添加了标签

spring-boot-starter-parenth会为我们提供常用jar包版本,其实不是不用指定,是人家为我们指定好了。

自己指定版本号也可以,会覆盖官方版本,这时可以用maven helper查看一下有没有冲突即可。

相关推荐
程序员爱钓鱼2 分钟前
Go switch 详解
后端·面试·go
程序员爱钓鱼5 分钟前
Rust Struct结构体详解:定义自己的复杂数据类型
后端·面试·rust
风流 少年9 分钟前
Spring AI 2.0:MCP
java·后端·spring
北斗落凡尘34 分钟前
LangGraph 入门实战(7)
后端·langchain
uzong1 小时前
业务新老系统数据迁移-负责人经验总结和复盘
后端
dogstarhuang1 小时前
大模型 API 停服怎么办:用 API 网关实现多模型统一接入与可切换架构
人工智能·后端·架构·大模型·api·数字化转型·ai应用
程序猿DD2 小时前
OctaFuse Gateway 2.5.0:接入 Responses 端点、更易理解的路由配置
后端·agent
nnerddboy4 小时前
Rust教程04:引用、借用与切片
开发语言·后端·rust
Rain的Java大神之路4 小时前
线上接口负载满了如何解决
java·数据库·redis·后端·缓存·面试·架构
weixin_431600445 小时前
NestJS 入门(7):生命周期钩子——构造函数和 `OnModuleInit` 差在哪?
前端·后端·学习·node.js·nest.js