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>会产生

相关推荐
百度Geek说9 分钟前
首发!百度百科全系能力上线千帆,权威知识增强Agent一键打造
后端
瑾曦37 分钟前
Maven高级
后端
bobz96539 分钟前
操作系统驱动崩溃为什么会导致系统卡顿?
后端
JVM高并发42 分钟前
MySQL 中处理 JSON 数组并为每个元素拼接字符串
后端·mysql
lgaof65822@gmail.com1 小时前
ASP.NET Core Web API 中集成 DeveloperSharp.RabbitMQ
后端·rabbitmq·asp.net·.netcore
天天摸鱼的java工程师1 小时前
面试官说:“设计一个消息中间件你会怎么做?”我当场就不困了 ☕️🚀
java·后端·面试
七七&5561 小时前
Spring全面讲解(无比详细)
android·前端·后端
Java水解1 小时前
【MySQL基础】MySQL复合查询全面解析:从基础到高级应用
后端·mysql
小马哥聊DevSecOps2 小时前
将 RustFS 用作 GitLab 对象存储后端
后端
生无谓2 小时前
java中的异常
后端