摇篮版本:5.1
Java 版本:11
我在gradle
文件中定义了以下任务来生成QueryDSL
类:
task generateQClasses (type: JavaCompile) {
source = sourceSets.main.java.srcDirs
classpath = sourceSets.main.compileClasspath
destinationDir = file('src/main/java')
options.annotationProcessorPath = configurations.annotationProcessor
options.compilerArgs = ['-proc:only', '-processor', 'com.querydsl.apt.jpa.JPAAnnotationProcessor', '-Aquerydsl.packageSuffix=.querydsl']
}
下面是我的依赖块:
annotationProcessor "com.querydsl:querydsl-apt:4.2.1:jpa"
annotationProcessor "org.hibernate.javax.persistence:hibernate-jpa-2.1-api:1.0.2.Final"
annotationProcessor "javax.annotation:javax.annotation-api:1.3.2"
如果我执行 `gradlew generateQClasses,我会在日志中看到以下内容:
Attempt to recreate a file for type foo.bar.QClass
error: Attempt to recreate a file for type foo.bar.QClass
它失败并显示文件已存在的错误。如果文件存在,我如何配置此任务以覆盖文件?
另外,上面的配置是根项目的配置,它有 5 个子项目。AnnotationProcessor
能够覆盖其中一个子项目中的文件,但不能覆盖其他文件(所有子项目都具有相同的配置)。我错过了什么吗?