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

如何在Gradle中简化QueryDSL注解处理器配置以指定生成类的@Generated注解

简化配置方案

你原配置的核心问题是同时启用了Gradle默认的compileJava注解处理流程,和自定义的generateQueryDSL任务,两个任务重复生成Q类导致覆盖冲突,完全不需要单独写自定义生成任务,直接在默认编译任务中添加注解处理器参数即可:

plugins {
    id 'java'
    // Spring Boot项目可额外引入以下两个插件,省略版本管理
    id 'org.springframework.boot' version '2.5.6'
    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa:2.5.6'
    implementation 'com.querydsl:querydsl-jpa:5.0.0'
    annotationProcessor "com.querydsl:querydsl-apt:5.0.0:jpa"
}

compileJava {
    // 直接添加QueryDSL注解处理器参数即可
    options.compilerArgs += [
        '-Aquerydsl.generatedAnnotationClass=com.querydsl.core.annotations.Generated'
    ]
}

配置说明

  • 删除原配置里的generateQueryDSL自定义任务和compileJava的finalizedBy绑定逻辑,避免重复执行生成逻辑
  • 原依赖里的annotationProcessor 'org.springframework.boot:spring-boot-starter-data-jpa:2.5.6'属于多余配置,可以直接移除
  • 执行./gradlew clean compileJava后即可在$buildDir/generated/sources/annotationProcessor/java/main目录下看到带指定@Generated注解的Q类

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 10:36:06