当前位置: 首页 > news >正文

maven-依赖管理

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、Maven BOM
  • 二、使用
  • 三、SpringBoot的依赖管理


前言

提示:这里可以添加本文要记录的大概内容:

依赖管理能带来啥:

  • 避免版本不一致导致的兼容问题。
  • 可以不用显式声明版本号
  • 自动化版本升级,只要改主POM文件就可以完成整个项目的版本升级

一、Maven BOM

Maven 提供了一个强大的工具——Bill of Materials (BOM)用来完成依赖管理。
直译为“材料清单”。在 Maven 的上下文中,BOM 是一个特殊的 POM(Project Object Model)文件,它列出了一个项目所需的所有依赖及其对应的版本。与其他 POM 文件不同,BOM 文件主要用于依赖管理,确保所有模块共享相同的依赖版本。

二、使用

通过在<dependencyManagement>标签中添加<dependency>标签并指定 BOM 的 groupId、artifactId 和 version 来完成。

 	<properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target><jjwt.version>3.19.0</jjwt.version><lombok.version>1.18.24</lombok.version><spring.boot.version>3.2.5</spring.boot.version></properties><dependencyManagement><dependencies><dependency><!-- Import dependency management from Spring Boot --><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>${spring.boot.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.auth0</groupId><artifactId>java-jwt</artifactId><version>${jjwt.version}</version> <!-- 请检查最新版本并替换 --></dependency><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok.version}</version> <!-- 检查最新版本 --><scope>provided</scope> <!-- 如果使用IDEA或其他开发环境,可以设置为provided,因为它们在编译时会自动处理 --></dependency></dependencies></dependencyManagement>

使用依赖项:一旦项目引入了 BOM,项目中其他模块在声明依赖时可以省略版本号,因为 BOM 会自动提供正确的版本。

注意,此时并没有下载依赖哦!
在这个配置中,部分并没有直接下载任何依赖。仅用于定义依赖的版本管理,它告诉Maven在子模块中声明这些依赖时应该使用哪个版本。实际的下载发生在子模块的标签中,当这些依赖被引用时。

三、SpringBoot的依赖管理

方式一:

	<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.4.10</version></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>

这是因为 继承的spring-boot-starter-parent中又继承了spring-boot-dependencies
在这里插入图片描述
而在spring-boot-dependencies中才真正的做了springboot的依赖管理。

截图:总之你自己去看把!

方式二:

直接引入spring-boot-dependencies

<dependencyManagement><dependencies><dependency><!-- Import dependency management from Spring Boot --><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.0.4.RELEASE</version><type>pom</type><scope>import</scope></dependency></dependencies>
</dependencyManagement>

http://www.lryc.cn/news/352981.html

相关文章:

  • Java之设计模式
  • 大胆预测:计算机将要回暖
  • 49 序列化和反序列化
  • PS —— 精修图像
  • 哥白尼哨兵系列卫星数据不能下载的解决方法
  • 结构型模式之桥接模式
  • 数据结构--顺序表
  • 【C++项目】实时聊天的在线匹配五子棋对战游戏
  • 7.2k star的万能视频解析下载插件
  • dmanywhere的docker制作
  • Leetcode | 5-21| 每日一题
  • vue3添加收藏网站页面
  • 吴恩达深度学习笔记:超 参 数 调 试 、 Batch 正 则 化 和 程 序 框 架(Hyperparameter tuning)3.4-3.5
  • 牛客NC362 字典序排列【中等 DFS Java/Go/PHP】
  • PHP获取文件路径getcwd()、__DIR__、__FILE__的区别
  • Kafka(十三)监控与告警
  • SBC3568启动升级,灵活更换动画logo
  • v-if 与 v-show(vue3条件渲染)
  • nuxt: generate打包后访问资源404问题
  • 【图像超分】论文精读:Residual Non-local Attention Networks for Image Restoration(RNAN)
  • AI大模型:大数据+大算力+强算法
  • 同名在线查询系统微信小程序源码下载支持多种流量主,附带系统教程
  • 2024年5月26日 十二生肖 今日运势
  • Vue 3 组件基础与模板语法详解
  • ACM实训冲刺第十八天
  • 22AP70/SS927
  • C++实现的代码行数统计器
  • C# 结合 JS 暴改腾讯 IM SDK Demo
  • 【Web】CISCN 2024初赛 题解(全)
  • 【C++进阶】AVL树