You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级jOOQ官方Gradle代码生成插件失败问题求助

jOOQ 3.19.0官方Gradle代码生成插件配置未生成元类问题

背景

jOOQ 3.19.0推出了官方Gradle代码生成插件,替代原第三方插件。我在Gradle Kotlin项目中修改了如下配置:

jooq {
    //version.set(${jooqVersion}")  // 默认值(可省略)
    //edition.set(JooqEdition.OSS)  // 默认值(可省略)

    executions {
        create("main") {  // jOOQ配置名称
            //generateSchemaSourceOnCompilation =true   // 默认值(可省略)

            configuration {
                logging = org.jooq.meta.jaxb.Logging.DEBUG
                jdbc = null // 仅从活跃数据库生成时需要配置

                generator {
                    name = "org.jooq.codegen.KotlinGenerator"
                    database {
                        name = "org.jooq.meta.extensions.ddl.DDLDatabase" // 从DDL脚本生成

                        // 注释掉该行,参考相关问题
                        // inputSchema = "public"
                        properties {

                            // 指定SQL脚本路径,支持Ant风格匹配,例如 /path/**/to/*.sql
                            // 规则:
                            // - ** 匹配任意子目录
                            // - * 匹配目录/文件名中的任意字符
                            // - ? 匹配目录/文件名中的单个字符
                            property {
                                key = "scripts"
                                value = "src/main/resources/schema.sql"
                            }

                            // 目录内脚本的排序规则:
                            //
                            // - semantic: 版本号排序,例如 v-3.10.0 在 v-3.9.0 之后(默认)
                            // - alphanumeric: 字符串排序,例如 v-3.10.0 在 v-3.9.0 之前
                            // - flyway: 按Flyway的规则排序
                            // - none: 获取目录内容后不排序
                            property {
                                key = "sort"
                                value = "semantic"
                            }

                            // 未限定对象的默认Schema:
                            //
                            // - public: 所有未限定对象都放在PUBLIC(大写)Schema中
                            // - none: 所有未限定对象都放在默认Schema中(默认)
                            //
                            // 可通过Schema映射功能覆盖此配置
                            property {
                                key = "unqualifiedSchema"
                                value = "none"
                            }

                            // 未加引号对象的默认名称大小写:
                            //
                            // - as_is: 未加引号的对象名称保持原样
                            // - upper: 未加引号的对象名称转为大写(多数数据库)
                            // - lower: 未加引号的对象名称转为小写(例如PostgreSQL)
                            property {
                                key = "defaultNameCase"
                                value = "lower"
                            }
                        }
                    }
                    generate {
                        isPojosAsKotlinDataClasses = true // 使用data class
                    }
                    target {
                        packageName = "com.example.demo.jooq"
                        directory = "build/generated-src/jooq/main"  // 默认值(可省略)
                    }
                    strategy{
                        name = "org.jooq.codegen.DefaultGeneratorStrategy"
                    }
                }
            }
        }
    }
}

问题

执行命令 ./gradlew clean build -x test 后,未生成预期的数据库元类。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 16:27:55