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

相关推荐
IT枫斗者枫哥5 分钟前
UPDATE影响0行,接口却返回成功:把版本冲突接回业务
java·后端
一帅26 分钟前
Muzzle:给 Java Agent 戴上的"安全口罩"
后端
Bazingga31 分钟前
从0到1吃透Function Calling:Spring AI完整实战
后端
写了20年代码的老程序员33 分钟前
想让 AI 改 Bug 快准狠?先给日志加个业务代码坐标
java·后端·apache log4j
据说幸运很容易33 分钟前
从 Run 到 Report:现有框架引入 Allure 的实践
后端·架构
合橱瑰40 分钟前
踩坑实录:子进程“假 Ready”导致窗口永远无法唤起?
后端·全栈
imDwAaY41 分钟前
如何快速定位线上OOM
后端
一帅41 分钟前
大象无形:OTel Java Agent 的隐身哲学
后端
dd聊技术42 分钟前
给项目接上动态线程池
后端
hsfxuebao43 分钟前
常用开源项目github
后端·github