Maven的dependencyManagements锁定版本依赖

Pom工程的父项目定义的依赖
 <dependencyManagement><dependencies><!--springcloud 2023.0.0--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring.cloud.version}</version><type>pom</type><scope>import</scope></dependency><!--springcloud alibaba 2022.0.0.0-RC2--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring.cloud.alibaba.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement>

这里锁定的依赖版本是spring-cloud-alibaba-dependencies,是以pom方式引入的,说明这是一个pom工程,其中import作用是将spring-cloud-alibaba-dependenciesPOM 文件中的 部分导入到当前项目的 中,从而实现依赖版本的统一管理。

这是国内git地址:
https://gitee.com/alibaba/spring-cloud-alibaba/blob/2023.0.3.2/spring-cloud-alibaba-dependencies/pom.xml

在这里插入图片描述
相当于是把这个项目中的所有dependencyManagement都合并到了自己创建的父项目中,所以只要是在spring-cloud-alibaba-dependencies中定义的依赖的版本,所有子项目都不需要再定义版本号,只需要引入依赖即可。

这段 Maven 依赖配置代码主要用于引入 Spring Cloud Alibaba 的依赖管理,下面为你详细解释代码中各个元素的含义和作用:

代码各元素解释

  • <dependency>:这是 Maven 中用于声明依赖项的根标签,用于指定项目所依赖的外部库或模块。
  • <groupId>:指定依赖所属的组织或项目组的唯一标识符。在这个例子中,com.alibaba.cloud 表明该依赖是由阿里巴巴云团队开发和维护的与 Spring Cloud 相关的组件。
  • <artifactId>:表示具体依赖的项目名称。spring-cloud-alibaba-dependencies 指的是 Spring Cloud Alibaba 提供的依赖管理 POM 文件,它可以帮助我们统一管理 Spring Cloud Alibaba 相关组件的版本。
  • <version>:指定依赖的版本号。这里使用的是 2023.1.0,意味着使用的是 2023 年发布的第一个主要版本,确保了项目中使用的 Spring Cloud Alibaba 相关组件是该版本。
  • <type>:指定依赖的类型,默认值是 jar。这里设置为 pom,表示引入的是一个 POM(Project Object Model)文件,而不是普通的 JAR 包。POM 文件通常用于依赖管理和项目配置。
  • <scope>:设置为 import,这是一种特殊的依赖范围,仅适用于 typepom 的依赖。import 范围的作用是将指定的 POM 文件中的 <dependencyManagement> 部分导入到当前项目的 <dependencyManagement> 中,从而实现依赖版本的统一管理。

实际用途

通过引入 spring-cloud-alibaba-dependencies,可以避免在项目中手动为每个 Spring Cloud Alibaba 组件指定版本号,减少版本冲突的风险。例如,在你的项目中需要使用 Nacos(服务注册与发现)、Sentinel(流量控制)等 Spring Cloud Alibaba 组件时,只需在 <dependencies> 中声明依赖,而无需指定版本:

<dependencies><!-- 引入 Nacos Discovery 依赖,无需指定版本 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!-- 引入 Sentinel 依赖,无需指定版本 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId></dependency>
</dependencies>

这样,Maven 会自动从 spring-cloud-alibaba-dependencies 中获取这些组件的对应版本,确保它们之间的兼容性。

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

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

相关文章

基于 Nginx 的 CDN 基础实现

概览 本文是对基于Nginx的CDN网络的学习笔记&#xff0c;阅读的代码为&#xff1a;https://github.com/leandromoreira/cdn-up-and-running 其中&#xff0c;先确定CDN中的一些基础概念&#xff1a; Balancer&#xff1a;负载均衡&#xff0c;即请求数据的流量最开始打到Bal…

Coze(扣子)+ Deepseek:多Agents智能体协作开发新范式

前言 在当今数字化浪潮中&#xff0c;人工智能&#xff08;AI&#xff09;技术的迅猛发展正深刻改变着我们的生活和工作方式。从智能语音助手到自动化流程机器人&#xff0c;AI 的应用无处不在&#xff0c;为我们提供了更加便捷、高效的服务。然而&#xff0c;对于非专业人士来…

user、assistant、system三大角色在大语言模型中的作用(通俗解释)

1 概述 在大语言模型中&#xff0c;通常涉及到三种角色&#xff1a;用户&#xff08;user&#xff09;、助手&#xff08;assistant&#xff09;和系统&#xff08;system&#xff09;。简单来说&#xff0c;和大模型对话其实是三个人的电影。 2 角色定义 2.1 系统&#xf…

【文献讲解】《Non-local Neural Networks》

一、引言 传统的深度学习方法(如卷积神经网络CNN和循环神经网络RNN)在捕捉长距离依赖关系时存在局限性。CNN主要关注局部邻域的特征,而RNN则依赖于序列的递归计算,无法直接捕捉全局信息。为了解决这一问题,本文提出了一种非局部神经网络(Non-local Neural Networks),通…

BiGRU双向门控循环单元多变量多步预测,光伏功率预测(Matlab完整源码和数据)

代码地址&#xff1a;BiGRU双向门控循环单元多变量多步预测&#xff0c;光伏功率预测&#xff08;Matlab完整源码和数据) BiGRU双向门控循环单元多变量多步预测&#xff0c;光伏功率预测 一、引言 1.1、研究背景和意义 随着全球对可再生能源需求的不断增长&#xff0c;光伏…

经典题型:求数组中逆序对的数量

经典题型&#xff1a;求数组中逆序对的数量 题目思路代码 题目 链接 思路 步骤一&#xff1a;两个指针指向两个有序区间&#xff0c;进行合并操作。 步骤二&#xff1a;1与前面的区间&#xff0c;构成逆序对&#xff0c;个数就是前面区间的个数。 步骤三&#xff1a;前面数组…

安卓逆向(Xposed-Hook)

关于参数问题 &#x1f4cc; 如果方法是这样 public int addNumbers(int a, int b) {return a b; }&#x1f4cc; Hook 代码 XposedHelpers.findAndHookMethod("com.example.app.Calculator",lpparam.classLoader,"addNumbers",int.class, int.class, …

nacos报错9848端口解决方法

近日在部署nacos时一直出现长报错&#xff0c;显示9848端口被占用无法访问&#xff0c;但是通过netstat -ano | findstr 9848查看端口状态却没有输出&#xff0c;表明没有运行在此端口上的程序&#xff0c;同时重新下载不同版本的nacos均出现此问题&#xff0c;排除是nacos的问…

ASP.NET Core 如何使用 C# 向端点发出 POST 请求

使用 C#&#xff0c;将 JSON POST 到 REST API 端点&#xff1b;如何从 REST API 接收 JSON 数据。 本文需要 ASP .NET Core&#xff0c;并兼容 .NET Core 3.1、.NET 6和.NET 8。 要从端点获取数据&#xff0c;请参阅本文。 使用 . 将 JSON 数据发布到端点非常容易HttpClien…

【React】页面刷新后状态丢失的原因与解决方案

在 React 应用中,页面刷新后状态丢失是一个常见的问题。这主要是因为 React 的状态(state)是存储在内存中的,而页面刷新会导致内存被清空,从而导致状态丢失。以下是常见的原因及对应的解决方案。 一、状态丢失的原因 1. React 的状态存储在内存中 React 的状态(通过 us…

kafka消费端之分区分配策略

文章目录 概述分区分配策略RangeAssignor分配策略RoundRobinAssignor分配策略StickyAssignor自定义分区分配策略 总结 概述 我们知道kafka的topic可以被分成多个分区&#xff0c;消费者在集群模式下消费时一个消费组内的每个消费者实例只能消费到一个分区的消息&#xff0c;那…

Flink CDC YAML:面向数据集成的 API 设计

摘要&#xff1a;本文整理自阿里云智能集团 、Flink PMC Member & Committer 徐榜江&#xff08;雪尽&#xff09;老师在 Flink Forward Asia 2024 数据集成&#xff08;一&#xff09;专场中的分享。主要分为以下四个方面&#xff1a; Flink CDC YAML API Transform A…

【截图】selenium自动通过浏览器截取指定元素div的图片

【截图】selenium自动通过浏览器截取指定元素div的图片 思路 截取完整网页截图 通过元素的坐标 截图到指定位置的图片 前提是已经获取到 driver 了 # 定位目标divtarget_div driver.find_element(By.CLASS_NAME, headlines-right)# 获取div的位置和大小location target_div…

gradio教程

Gradio 是一个开源的 Python 库&#xff0c;专为快速创建和共享机器学习模型和数据科学应用的交互式界面而设计。它简化了将复杂的机器学习模型转换为易于使用的 Web 应用程序的过程&#xff0c;使开发者能够轻松地与他人分享他们的工作成果。 主要特点&#xff1a; 简单易用&…

清理软件——软媒清理大师

随着电脑使用时间的增加&#xff0c;系统垃圾文件也会不断累积&#xff0c;导致C盘空间逐渐变得紧张。今天&#xff0c;我为大家推荐一款专业的清理软件——软媒清理大师&#xff0c;它能够高效地清理电脑中的无用垃圾文件&#xff0c;为您的电脑“减负”。 清理软件——软媒清…

【C++八股】 前置 ++i vs. 后置 i++ 的区别

在 C 中&#xff0c; 运算符有前置 i 和后置 i 两种方式&#xff0c;它们都能让变量自增 1&#xff0c;但在执行顺序、性能、应用场景上有所不同。 1. i vs. i 对比表 2. 代码示例 #include <iostream> int main() {int a 5, b 5;std::cout << "a "…

手动配置IP

手动配置IP&#xff0c;需要考虑四个配置项&#xff1a; 四个配置项 IP地址、子网掩码、默认网关、DNS服务器 IP地址&#xff1a;格式表现为点分十进制&#xff0c;如192.168.254.1 子网掩码&#xff1a;用于区分网络位和主机位 【子网掩码的二进制表达式一定是连续的&#…

PyTorch快速入门

Anaconda Anaconda 是一款面向科学计算的开源 Python 发行版本&#xff0c;它集成了众多科学计算所需的库、工具和环境管理系统&#xff0c;旨在简化包管理和部署&#xff0c;提升开发与研究效率。 核心组件&#xff1a; Conda&#xff1a;这是 Anaconda 自带的包和环境管理…

DeepSeek部署的一些问题

问题1&#xff1a;为什么不直接使用网页版的deepseek&#xff1f; 如果我们的需求是绝对的隐私保护和个性化的知识库的构建&#xff0c;就需要本地部署。试想一下&#xff0c;如果我们希望通过大模型能根据我们自己独有的文档来回答问题&#xff0c;那我们就需要把文件或附件上…

解决 Sentinel 控制台无法显示 OpenFeign 资源的问题

前言 在使用 Spring Cloud Alibaba Sentinel 进行微服务治理时&#xff0c;可能会遇到 Sentinel 控制台无法显示 OpenFeign 资源的问题。本文将详细分析问题的原因&#xff0c;并提供解决方案。 一、问题描述 在 Sentinel 控制台 1.8.8 版本中&#xff0c;簇点链路&#xff…