Я пытаюсь использовать плагин jooq-codegen-gradle для генерации кода jooq путем реверсирования файлов sql (файлы миграции Flyway). Вот как выглядит мой файл build.gradle.kts (только соответствующие части):
...
plugins {
kotlin("jvm")
application
id("org.springframework.boot") version "3.3.0"
id("org.jooq.jooq-codegen-gradle")
}
...
jooq {
configuration {
// Code generation from SQL files (https://www.jooq.org/doc/latest/manual/code-generation/codegen-ddl/)
generator {
database {
name = "org.jooq.meta.extensions.ddl.DDLDatabase"
properties {
property {
key = "scripts"
value = "src/main/resources/db/migrations/*.sql"
}
property {
key = "sort"
value = "flyway"
}
}
}
}
}
}
...
tasks.compileTestKotlin {
dependsOn += tasks.jooqCodegen
}
...
apply(plugin = "io.spring.dependency-management")
val jooqVersion = the<io.spring.gradle.dependencymanagement.dsl.DependencyManagementExtension>().managedVersions["org.jooq:jooq"]!!
dependencies {
...
// Database
implementation("org.springframework.boot:spring-boot-starter-jooq")
implementation("org.jooq:jooq-meta-extensions:$jooqVersion")
implementation("org.postgresql:postgresql")
implementation("org.flywaydb:flyway-core")
implementation("org.flywaydb:flyway-database-postgresql")
...
}
однако ./gradlew build --console=plain терпит неудачу с:
Execution failed for task ':app:jooqCodegen'.
> java.lang.ClassNotFoundException: Your configured database type was not found: org.jooq.meta.extensions.ddl.DDLDatabase. This can have several reasons:
- You want to use a commercial jOOQ Edition, but you pulled the Open Source Edition from Maven Central.
- You have mis-typed your class name.
DDLDatabase явно находится на пути к классам:
Поэтому ошибка не очень полезна и мне непонятно, чего мне не хватает...


jooqCodegen("org.jooq:jooq-meta-extensions:$jooqVersion")
следует использовать вместо
implementation("org.jooq:jooq-meta-extensions:$jooqVersion")