Maven的模块化管理中的版本锁定

配置模块继承后

在此时,我们会在父类里统一配置各个子类的依赖的版本

这样做可以统一各子类的依赖版本,不仅避免了版本冲突,并且避免升级依赖的时候要在子类里一个一个修改

jjwt为例子,在父类的pom里我们通过在<properties>里定义它的版本号和引用名称<jjwt.version>

js 复制代码
<properties>
  <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  <jjwt.version>0.9.1</jjwt.version>
</properties>

这样就可以运用<dependencyManagement>来控制所有子类的jjwt版本,在<version>里填入在<properties>里定义好的<jjwt.version>来让版本锁定生效

js 复制代码
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>io.jsonwebtoken</groupId>
      <artifactId>jjwt</artifactId>
      <version>${jjwt.version}</version>
    </dependency>
  </dependencies>
</dependencyManagement>

在此之后我们在子类的pom里添加依赖的时候只需要输入

js 复制代码
<dependencies>
 <dependency>
  <groupId>io.jsonwebtoken</groupId>
  <artifactId>jjwt</artifactId>
 </dependency>
</dependencies>

就可以成功添加jjwt依赖

使用<dependencyManagement>标签只会锁定依赖版本,不会产生真正的依赖

<dependencies>会产生

相关推荐
Moment2 小时前
AI 全栈指南:NestJs 中的 Service Provider 和 Module
前端·后端·面试
IT_陈寒2 小时前
为什么我的JavaScript异步回调总是乱序执行?
前端·人工智能·后端
Moment2 小时前
AI全栈入门指南:NestJs 中的 DTO 和数据校验
前端·后端·面试
小村儿2 小时前
Harness Engineering:为什么你用 AI 越用越累?
前端·后端·ai编程
小码哥_常3 小时前
为什么PUT和DELETE请求在大公司中逐渐被弃用?
后端
宫_商_角_徵3 小时前
动态代理到底在做什么?
后端
苍何3 小时前
我把微信 cli 开源了,群消息终于不用爬楼了!
后端
Moment3 小时前
当前端开始做 Agent 后,我才知道 LangGraph 有多重要❗❗❗
前端·后端·面试
小蜜蜂dry3 小时前
nestjs实战-登录、鉴权(一)
前端·后端·nestjs
苍何3 小时前
接入Seedance 2.0 后的 OiiOii,太让人上头了!
后端