【发布时间】:2021-12-21 10:00:25
【问题描述】:
我搜索了很多关于QueryDSL 和Gradle 的配置。
我想配置注解处理器,在生成的类上使用特定的注解@Generated。
- 但我只能在这里找到这个链接:Gradle : Unable to generate QueryDSL classes。这有助于我了解一些细节。
- 以及显示可用选项的官方文档:https://querydsl.com/static/querydsl/latest/reference/html/ch03s03.html(3.3.2. 自定义)。
这是我的build.gradle(续):
plugins {
id 'java'
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa:2.5.6'
annotationProcessor '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 {
finalizedBy 'generateQueryDSL'
}
task generateQueryDSL(type: JavaCompile) {
source = sourceSets.main.java.srcDirs
classpath = sourceSets.main.compileClasspath
getDestinationDirectory().set(file("$buildDir/generated/sources/annotationProcessor/java/main"))
options.annotationProcessorPath = configurations.annotationProcessor
options.compilerArgs = [
'-proc:only',
'-processor',
'com.querydsl.apt.jpa.JPAAnnotationProcessor',
'-Aquerydsl.generatedAnnotationClass=com.querydsl.core.annotations.Generated'
]
}
有没有更简单的方法来配置注释处理器? 我在使用这种方法时遇到了很多麻烦,因为原始方法不断使用 OLD 注释更改文件,因为我无法替换这种旧行为。有了这个,我无法删除或覆盖一些任务(或“compileJava”任务中的步骤)。
【问题讨论】:
标签: gradle querydsl annotation-processing