Jooq codegen不生成类,Gradle插件+PostgreSQL环境问题求助
jOOQ代码生成无输出问题排查方案
- 检查数据库连接和表结构
首先确认本地5432端口的postman库可使用postgres用户、空密码正常登录,且publicschema下存在至少一张用户自定义表。如果schema为空无表、表实际存储在其他schema下、或者PostgreSQL配置不允许空密码远程/本地登录,jOOQ生成器不会输出任何类,也不会抛出错误,任务直接返回成功。 - 调整日志级别定位具体问题
将配置中的logging = org.jooq.meta.jaxb.Logging.WARN改为logging = org.jooq.meta.jaxb.Logging.INFO,重新执行generateJooq任务,可以看到完整的数据库连接、表扫描、代码生成流程日志,可快速定位是否是连接失败、表过滤规则排除了所有表的问题。 - 确认生成目录位置
你当前配置未显式指定生成目录,jOOQ默认会将生成的类输出到build/generated-sources/jooq/main目录下,很多用户会默认到src/main/java下查找生成类而找不到。如果需要生成到src目录,可补充directory配置:target { packageName = 'com.sample' directory = 'src/main/java' } - 清理冗余依赖避免版本冲突
不需要手动声明jooq-meta、jooq-codegen的implementation依赖,代码生成所需依赖由nu.studer.jooq插件和jooqGenerator配置自动管理,重复声明容易引发版本兼容问题,建议删除以下两行配置:implementation 'org.jooq:jooq-meta:3.15.1' implementation 'org.jooq:jooq-codegen:3.15.1'
内容的提问来源于stack exchange,提问作者Sergey Alekseev
相关产品推荐
相关产品推荐

