JOOQ代码生成在单独的脚本jooq.gradle“nu.studer.gradle.jooq.JooqEdition”问题

问题描述 投票:0回答:0

当所有代码都在 build.gradle 文件中时,我可以通过 gradle jooq 插件生成 JOOQ 代码。 但是我想把代码生成代码放在一个单独的文件中,叫做 jooq.gradle.

我得到以下错误

jooq.gradle':1:无法解析类 nu.studer.gradle.jooq.JooqEdition

这是我的build.gradle文件代码

buildscript {
    repositories {
        mavenCentral()
        maven { url 'https://plugins.gradle.org/m2/' }
    }
    dependencies {
        classpath 'nu.studer:gradle-jooq-plugin:8.2'
    }
}

plugins {
    id 'java'
    id 'org.springframework.boot' version '3.0.5'
    id 'io.spring.dependency-management' version '1.1.0'
    id 'nu.studer.jooq' version '8.2'
}

repositories {
    mavenCentral()
}

group = 'com.takeme'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-r2dbc:3.0.4'
    implementation 'org.springframework.boot:spring-boot-starter-validation:3.0.4'
    implementation 'org.springframework.boot:spring-boot-starter-webflux:3.0.4'
    compileOnly 'org.projectlombok:lombok:1.18.26'
    runtimeOnly 'org.postgresql:postgresql:42.5.4'
    runtimeOnly 'org.postgresql:r2dbc-postgresql:1.0.1.RELEASE'

    implementation 'org.jooq:jooq:3.18.2'
    jooqGenerator 'org.postgresql:postgresql:42.5.4'

    annotationProcessor 'org.projectlombok:lombok:1.18.26'
    testImplementation 'org.springframework.boot:spring-boot-starter-test:3.0.4'
    testImplementation 'io.projectreactor:reactor-test:3.5.4'
    testImplementation 'org.postgresql:postgresql:42.5.4'
}

tasks.named('test') {
    useJUnitPlatform()
}

apply from: 'jooq.gradle'
// removes jooq generation task dependency from compileJava
project.tasks.getByName('compileJava').dependsOn -= 'generateFinancedbJooqSchemaSource'

jooq.gradle

import nu.studer.gradle.jooq.JooqEdition

jooq {
    version = "3.18.2"
    edition = JooqEdition.OSS

    financedb(sourceSets.main) {
        jdbc {
            driver = 'org.postgresql.Driver'
            url = 'jdbc:postgresql://localhost:15432/financedb'
            user = 'apiuser'
            password = 'takeme'
            properties {
                property {
                    key = 'ssl'
                    value = 'false'
                }
            }
        }
        generator {
            name = 'org.jooq.codegen.DefaultGenerator'
            strategy.name = 'org.jooq.codegen.DefaultGeneratorStrategy'
            database {
                name = 'org.jooq.meta.postgres.PostgresDatabase'
                inputSchema = 'financedb'
            }
            generate {
                routines = false
                keys = false
                indexes = false
                javaTimeTypes = false
            }
            target {
                packageName = 'com.takeme.jooq'
                directory = 'src/generated/jooq'
            }
        }
    }
}

我猜这个问题与版本不匹配有关。

我尝试了 gradle task 命令但是得到了以下错误

jooq.gradle':1:无法解析类 nu.studer.gradle.jooq.JooqEdition

jooq
© www.soinside.com 2019 - 2024. All rights reserved.