记录 maven 诡异的引入的依赖的依赖与实际版本不一致问题

记录 maven 诡异的引入的依赖的依赖与实际版本不一致问题

  1. 本地 windows 开发环境使用 maven 3.8.1,Intellij IDEA 2022.1.2 (#IU-221.5787.30)

  2. 现象:

    使用 hibernate-validator 引入依赖:

    <dependency>
        <groupId>org.hibernate.validator</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>7.0.5.Final</version>
    </dependency>
    

    maven 仓库官网,详情页 ,显示 Compile Dependencies,包含 jakarta.validation-api 依赖,版本是 3.0.0:

Group / ArtifactVersion
jakarta.validation » jakarta.validation-api3.0.0

而 IDEA 中 maven 依赖却显示版本是 2.0.2:

依赖的jar包版本是2.0.2

由于依赖 2.0.2 版本的 jakarta.validation-api jar无法使 7.0.X版本的 hibernate-validator 运行起来,需要 3.0.0及以上版本的 jakarta.validation-api 。

  1. 问题进一步深挖

    选中 jakarta.validation-api.jar ,跳到源码片段:

    <dependency>
        <groupId>jakarta.validation</groupId>
        <artifactId>jakarta.validation-api</artifactId>
    </dependency>
    

    按住 Ctrl 键,点击左键,进入依赖的 jakarta.validation-api pom,发现确实是 3.0.0 版本

    <groupId>jakarta.validation</groupId>
    <artifactId>jakarta.validation-api</artifactId>
    <version>3.0.0</version>
    <packaging>jar</packaging>
    <name>Jakarta Bean Validation API</name>
    <url>https://beanvalidation.org</url>
    
  2. 考虑可能是 maven 的问题,升级 maven 版本至 3.8.6,问题依旧存在

  3. 大无语事件,暂时没有发现原因,未能解决。临时替代方案是手动重新引入高版本的 jakarta.validation-api 依赖:

    <dependency>
        <groupId>jakarta.validation</groupId>
        <artifactId>jakarta.validation-api</artifactId>
        <version>3.0.2</version>
    </dependency>
    
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值