找不到QueryDSL Build错误AnnotationProcessor''Spring Boot

问题描述

大家好,我的bulid.gradle有一个小问题,我将运行我的项目,但是这不可能。有人知道为什么会这样吗? 我收到此错误

任务':compileQuerydsl'的执行失败。 >注释处理器''未找到

  • 尝试: 使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行,以获取更多日志输出。与--scan一起运行以获得完整的见解。

这是我的bulid.gradle配置

buildscript {
    ext {
        springBootVersion = '2.3.1.RELEASE'
        queryDslVersion = '4.2.1'
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
        classpath 'org.liquibase:liquibase-core:3.4.1'
        classpath "org.liquibase:liquibase-gradle-plugin:1.1.1"
    }
}

buildscript {
    repositories {
        maven {
            url "https://plugins.gradle.org/m2/"
        }
    }
    dependencies {
        classpath "gradle.plugin.com.ewerk.gradle.plugins:querydsl-plugin:1.0.10"
    }
}

plugins {
    id 'org.springframework.boot' version '2.3.1.RELEASE'
    id 'io.spring.dependency-management' version '1.0.9.RELEASE'
    id 'java'
    id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
    mavenCentral()
}

dependencies {
    compileOnly 'org.projectlombok:lombok:1.18.12'
    annotationProcessor 'org.projectlombok:lombok:1.18.12'
    testCompileOnly 'org.projectlombok:lombok:1.18.12'
    testAnnotationProcessor 'org.projectlombok:lombok:1.18.12'

    compile group: 'org.hibernate',name: 'hibernate-validator',version: '6.1.5.Final'

    // QueryDSL
    compile "com.querydsl:querydsl-sql:${queryDslVersion}"
    compile("com.querydsl:querydsl-core:${queryDslVersion}")
    compileOnly "com.querydsl:querydsl-jpa:${queryDslVersion}"
    /* TEST */
    // Querydsl
    testCompile "com.querydsl:querydsl-sql:${queryDslVersion}"
    testAnnotationProcessor("com.querydsl:querydsl-apt:${queryDslVersion}:general")

    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.liquibase:liquibase-core'
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    runtimeOnly 'org.postgresql:postgresql'
    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage',module: 'junit-vintage-engine'
    }
}

apply plugin: 'liquibase'
apply plugin: "com.ewerk.gradle.plugins.querydsl"

test {
    useJUnitPlatform()
}

解决方法

我发现了这个问题。是的:

buildscript {
    ext {
        springBootVersion = '2.3.1.RELEASE'
        queryDslVersion = "4.2.1"
    }
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
        classpath 'org.liquibase:liquibase-core:3.4.1'
        classpath "org.liquibase:liquibase-gradle-plugin:1.1.1"
        classpath "gradle.plugin.com.ewerk.gradle.plugins:querydsl-plugin:1.0.9"
        classpath('net.ltgt.gradle:gradle-apt-plugin:0.18')
    }
}

plugins {
    id 'org.springframework.boot' version '2.3.1.RELEASE'
    id 'io.spring.dependency-management' version '1.0.9.RELEASE'
    id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
    id 'java'
}

group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'

repositories {
    mavenCentral()
}

dependencies {

    //Lombok
    compileOnly 'org.projectlombok:lombok:1.18.12'
    annotationProcessor 'org.projectlombok:lombok:1.18.12'

    //Hibernate
    compile group: 'org.hibernate',name: 'hibernate-validator',version: '6.1.5.Final'

    // QueryDSL
    compile("com.querydsl:querydsl-jpa:${queryDslVersion}","com.querydsl:querydsl-apt:${queryDslVersion}:jpa","com.querydsl:querydsl-core:${queryDslVersion}")

    //Joda time
    compile 'joda-time:joda-time:2.9.4'

    //SpringBoot
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
    implementation 'org.springframework.boot:spring-boot-starter-web'

    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    runtimeOnly 'org.postgresql:postgresql'
    testImplementation('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage',module: 'junit-vintage-engine'
    }

    implementation 'org.liquibase:liquibase-core'
}

apply plugin: 'liquibase'
apply plugin: 'com.ewerk.gradle.plugins.querydsl'
def queryDslSourceDirectory = 'src/querydsl/java/generated'

test {
    useJUnitPlatform()
}

querydsl {
    jpa = true
    querydslSourcesDir = queryDslSourceDirectory
}

sourceSets {
    main {
        java {
            srcDir queryDslSourceDirectory
        }
    }
}

compileQuerydsl {
    options.annotationProcessorPath = configurations.querydsl
}
configurations {
    querydsl.extendsFrom compileClasspath
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...