Maven中为什么有些依赖不用引入版本号

先给出一个例子:

<parent><artifactId>sky-take-out</artifactId><groupId>com.sky</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>sky-server</artifactId><dependencies><dependency><groupId>com.sky</groupId><artifactId>sky-common</artifactId><version>1.0-SNAPSHOT</version></dependency><dependency><groupId>com.sky</groupId><artifactId>sky-pojo</artifactId><version>1.0-SNAPSHOT</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId></dependency><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency></dependencies>

每个依赖都没有引入版本号,是因为:

从父 POM 继承了版本号

若项目有父 POM,并且父 POM 里定义了依赖的版本号,子项目就能够直接使用该依赖,无需再指定版本号。像上面给出的 POM 文件,就定义了父项目:

<parent><artifactId>sky-take-out</artifactId><groupId>com.sky</groupId><version>1.0-SNAPSHOT</version>
</parent>

而这个父项目也有它的父项目:

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.3.4</version><relativePath/> <!-- lookup parent from repository --></parent>

Spring Boot 的 spring-boot-starter-parent POM 文件包含了 <dependencyManagement> 标签,此标签里定义了一系列常用依赖的版本。当项目继承自 spring-boot-starter-parent 时,就能使用这些预定义的版本,无需再次指定。

例如,在 spring-boot-starter-parent 的 <dependencyManagement> 部分,可能已经定义了 spring-boot-starter-web 的版本:

<dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><version>3.3.4</version></dependency><!-- 其他依赖 --></dependencies>
</dependencyManagement>

可以通过下面的方式查看 spring-boot-starter-parent 的 <dependencyManagement> 内容:

  1. 前往 Maven 中央仓库 搜索 spring-boot-starter-parent,找到对应版本(如 3.3.4)的 POM 文件。
  2. 查看 POM 文件中的 <dependencyManagement> 部分,了解所有预定义的依赖版本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/899250.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nginx相关漏洞解析

一、CRLF注入漏洞 原理&#xff1a;Nginx将传入的url进行解码&#xff0c;对其中的%0a%0d替换成换行符&#xff0c;导致后面的数据注入至头部&#xff0c;造成CRLF 注入漏洞 1、开环境 2、访问网站&#xff0c;并抓包 3、构造请求头 %0ASet-cookie:JSPSESSID%3D1 这样就可以…

RUBY报告系统

我们常用GFP及其变体如RFP、YFP、mCherry等作为基因表达的报告蛋白——需要荧光显微镜制片观察&#xff1b;此外还有GUS或荧光素酶作为报告酶——需要添加底物。 RUBY报告系统则与众不同&#xff0c;其作用原理是&#xff1a;将酪氨酸转化为鲜艳的红色甜菜碱&#xff0c;无需使…

[力扣每日一练]关于MySQL和pandas的正则表达式应用

一&#xff1a;题目要求 表&#xff1a;Users-------------------------- | Column Name | Type | -------------------------- | user_id | int | | email | varchar | -------------------------- (user_id) 是这张表的唯一主键。 每一行包含用…

office_word中使用宏以及DeepSeek

前言 Word中可以利用DeepSeek来生成各种宏&#xff0c;从而生成我们需要各种数据和图表&#xff0c;这样可以大大减少我们手工的操作。 1、Office的版本 采用的是微软的office2016&#xff0c;如下图&#xff1a; 2、新建一个Word文档 3、开启开发工具 这样菜单中的“开发工具…

深度学习框架PyTorch——从入门到精通(10)PyTorch张量简介

这部分是 PyTorch介绍——YouTube系列的内容&#xff0c;每一节都对应一个youtube视频。&#xff08;可能跟之前的有一定的重复&#xff09; 创建张量随机张量和种子张量形状张量数据类型 使用PyTorch张量进行数学与逻辑运算简单介绍——张量广播关于张量更多的数学操作原地修改…

Oracle 10G DG 修复从库-磁盘空间爆满导致从库无法工作

一、背景 由于近期在做应用升级和系统改造&#xff0c;导致几天没怎么观察DG库的状态。这几天归档日志暴涨导致磁盘空间用尽&#xff0c;从库无法接收主库的归档日志&#xff0c;且从库无法工作。经过检查&#xff0c;发现从库所需要的日志在主库均存在。所以当前文档使用归档…

【踩坑系列】使用httpclient调用第三方接口返回javax.net.ssl.SSLHandshakeException异常

1. 踩坑经历 最近做了个需求&#xff0c;需要调用第三方接口获取数据&#xff0c;在联调时一直失败&#xff0c;代码抛出javax.net.ssl.SSLHandshakeException异常&#xff0c; 具体错误信息如下所示&#xff1a; javax.net.ssl.SSLHandshakeException: sun.security.validat…

算法基础——模拟

目录 1 多项式输出 2.蛇形方阵 3.字符串的展开 模拟&#xff0c;顾名思义&#xff0c;就是题⽬让你做什么你就做什么&#xff0c;考察的是将思路转化成代码的代码能⼒。这类题⼀般较为简单&#xff0c;属于竞赛⾥⾯的签到题&#xff08;但是&#xff0c;万事⽆绝对&#xff…

PrimeTime生成.lib竟暗藏PG添加Bug

在primeTime里生成lib&#xff0c;如何能带上相关的pg信息&#xff1f; 这是一位群友的发问&#xff0c;就这个问题总结了下可能的原因和解决步骤&#xff1a; 概念 PrimeTime是Synopsys的静态时序分析工具&#xff0c;通常用于在设计的各个阶段进行时序验证。 1&#xff09…

yolo系列算法最新进展

YOLO&#xff08;You Only Look Once&#xff09;系列算法作为目标检测领域的代表性模型&#xff0c;自2016年推出以来不断迭代&#xff0c;在速度与精度之间寻求平衡。截至2024年&#xff0c;其最新进展主要集中在以下几个方面&#xff1a; ‌1. YOLOv8 的优化与扩展‌ ‌官方…

动态规划:路径类dp

路径类dp 1.矩阵的最小路径和_牛客题霸_牛客网 #include<iostream> #include<cstring> using namespace std;const int N 510; int f[N][N]; int n, m;int main() {cin >> n >> m;memset(f, 0x3f3f3f, sizeof(f));f[0][1] 0;for (int i 1; i < …

性能测试理论基础-性能指标及jmeter中的指标

1、什么是性能测试 通过一定的手段,在多并发下情况下,获取被测系统的各项性能指标,验证被测系统在高并发下的处理能力、响应能力,稳定性等,能否满足预期。定位性能瓶颈,排查性能隐患,保障系统的质量,提升用户体验。 2、什么样的系统需要做性能测试 用户量大,页面访问…

Debian,Ubuntu,设置/etc/vim/vimrc.tiny解决:上下左右变成ABCD,backspace退格键失效的问题

Debian,Ubuntu,用设置/etc/vim/vimrc.tiny解决:上下左右变成ABCD,backspace退格键失效的问题 Debian,Ubuntu, 默认的vi 在编辑模式下的上下左右变成ABCD , 退格键也失效 解决办法1, 卸载重装vim sudo apt remove vim; sudo apt install -y vim解决办法2: 修改 /etc/vim/vimr…

Redis 单机16个db,集群只有一个的基本知识

目录 前言1. 基本知识2. 配置 前言 &#x1f91f; 找工作&#xff0c;来万码优才&#xff1a;&#x1f449; #小程序://万码优才/r6rqmzDaXpYkJZF 爬虫神器&#xff0c;无代码爬取&#xff0c;就来&#xff1a;bright.cn Java基本知识&#xff1a; java框架 零基础从入门到精通…

蓝桥杯C++基础算法-多重背包(优化)

这段代码实现了一个多重背包问题的动态规划解法&#xff0c;并且使用了二进制拆分&#xff08;或称二进制优化&#xff09;来优化物品的数量处理。这种方法可以显著减少状态转移的次数&#xff0c;提高算法的效率。以下是代码的详细思路解析&#xff1a; 1. 问题背景 给定 n 个…

FALL靶机攻略

1.下载靶机&#xff0c;导入靶机 下载地址&#xff1a;https://download.vulnhub.com/digitalworld/FALL.7z 开启靶机。 2. 靶机、kali设置NAT网卡模式 3. kali扫描NAT网卡段的主机 kali主机 nmap扫描&#xff1a;nmap 192.168.92.1/24 判断出靶机ip是192.168.92.133。开启…

notepad++代码查看器分享

文章目录 &#x1f4dd; Notepad 简介&#x1f527; 主要特点打开.c文件示意高亮语法展示全局替换功能展示 &#x1f4dd; Notepad 简介 Notepad 是一款 免费的开源文本编辑器和源代码编辑器&#xff0c;运行在 Windows 系统上。 它是对 Windows 自带“记事本”的增强版本&…

详细介绍Spring MVC的执行流程是怎么样的?

Spring MVC 是 Spring 框架的一部分&#xff0c;用于构建 Web 应用程序。它的执行流程如下&#xff1a; 前端控制器&#xff08;DispatcherServlet&#xff09;接收请求&#xff1a;用户通过浏览器发送 HTTP 请求到服务器&#xff0c;请求首先被前端控制器 DispatcherServlet 接…

MySQL中的内连接与外连接详解:基础与进阶应用

文章目录 表的内连和外连&#xff08;重点&#xff09;内连接外连接左外连接右外连接 简单回顾 表的内连和外连&#xff08;重点&#xff09; 表的连接分为内连和外连 内连接 内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选&#xff0c;我们前面学习的查询都…

动态内存分配与内存对齐

在C语言及其他低级编程语言中,内存管理是一个至关重要的主题。动态内存分配和内存对齐是确保程序高效和稳定运行的关键因素。本文将深入探讨动态内存分配的原理,内存对齐的概念,并解释它们如何共同影响程序的性能和资源利用。 一、动态内存分配简介 1.1 动态内存分配的概念…