You need to enable JavaScript to run this app. 显式指定jooq-codegen版本仍被降级的原因及解决方法问询
优惠活动
大模型
产品
解决方案
定价
更多

显式指定jooq-codegen版本仍被降级的原因及解决方法问询

版本降级成因

Spring Boot 2.4.5 官方维护的依赖BOM中,默认锁定的jOOQ全组件版本为3.13.5。你在主项目中导入了Spring Boot的依赖BOM,根据Gradle的依赖管理优先级规则:通过dependencyManagement导入的BOM全局锁定版本优先级,高于子项目中单个依赖显式声明的版本。因此即使子项目单独指定了jooq-codegen的3.14.8版本,也会被全局BOM的规则覆盖,最终所有jOOQ相关依赖统一降级到3.13.5。

修复方案

以下几种方案可按需选择:

  • 全局覆盖版本(推荐,适配全项目统一版本管理规则)
    在主项目dependencyManagement块中添加jOOQ版本属性配置,直接覆盖Spring Boot BOM的默认值:

    ext['jooq.version'] = '3.14.8'
    

    配置后全项目所有jOOQ相关依赖都会自动使用3.14.8版本,无需单独修改子项目依赖。

  • 子项目单独强制指定版本(仅需单个子项目使用高版本时使用)
    在子项目的jooq-codegen依赖声明中添加force规则,强制当前依赖使用指定版本:

    compile("org.jooq:jooq-codegen:3.14.8") {
        force = true
    }
    

    若存在其他jOOQ相关依赖未匹配版本,可对jooq、jooq-meta等依赖做相同的force配置。

  • 子项目全局拦截jOOQ版本(需统一控制子项目所有jOOQ依赖版本时使用)
    在子项目的build.gradle中添加分辨率策略,强制所有org.jooq组下的依赖使用指定版本:

    configurations.all {
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'org.jooq') {
                details.useVersion '3.14.8'
            }
        }
    }
    

内容的提问来源于stack exchange,提问作者MatWdo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 14:24:08