Gradle compileQuerydsl仅生成顶级目录,未生成目标模型问题排查
QueryDSL compileQuerydsl任务未生成模型类排查方案
检查QueryDSL依赖与Gradle插件版本兼容性
不同Gradle版本(尤其是7.x+)对QueryDSL的配置逻辑有变化,比如Spring Boot 3需要适配Jakarta EE规范,旧版的javax依赖会失效。给你一个适配Gradle 7+和Spring Boot 3的参考配置:plugins { id 'org.springframework.boot' version '3.2.0' id 'io.spring.dependency-management' version '1.1.4' id 'java' id 'com.ewerk.gradle.plugins.querydsl' version '1.0.10' } dependencyManagement { imports { mavenBom "com.querydsl:querydsl-bom:5.0.0" } } dependencies { implementation 'com.querydsl:querydsl-jpa' annotationProcessor 'com.querydsl:querydsl-apt:jpa' annotationProcessor 'jakarta.persistence:jakarta.persistence-api' // 你的其他Spring Boot依赖 } querydsl { jpa = true querydslSourcesDir = file("src/main/generated") } sourceSets { main { java { srcDirs += querydsl.querydslSourcesDir } } }检查实体类注解配置
实体类必须标注@Entity/@Embeddable这类QueryDSL能识别的JPA注解,而且Spring Boot 3+要使用Jakarta包下的注解,不能用旧的javax:import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.Table; @Entity @Table(name = "example_table") public class ExampleTable { @Id private Long id; private String name; // getter、setter方法 }查看任务日志定位问题
执行./gradlew compileQuerydsl --info,通过日志排查是否有实体类未被扫描、APT处理器未启动、权限不足等问题,这些细节往往是关键。清理缓存后重新构建
执行./gradlew clean compileQuerydsl,清除旧的生成文件和缓存后重新运行任务,避免缓存导致的异常。
内容的提问来源于stack exchange,提问作者고슴도치
相关产品推荐
相关产品推荐

