摇篮版本: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"
如果我执行“gradle生成类”,我会在日志中看到以下内容:
Attempt to recreate a file for type foo.bar.QClass
error: Attempt to recreate a file for type foo.bar.QClass
它失败并显示错误,指出该文件已存在。如何配置此任务以覆盖文件(如果存在)?
另外,上面的配置是根项目的配置,它有 5 个子项目。AnnotationProcessor
能够覆盖其中一个子项目中的文件,但不能覆盖其他子项目中的文件(所有子项目都具有相同的配置)。我错过了什么吗?
我在这里有同样的行为...当生成的源文件夹不为空时就会发生这种情况。尝试执行gradle clean
前。然后就OK了。但我正在尝试用您已完成的任务替换默认的 QueryDSL 任务。如果我成功了,我会在这里更新答案。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)