グラドルのバージョン: 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
サブプロジェクトの 1 つのファイルを上書きできますが、他のプロジェクトは上書きできません (すべてのサブプロジェクトの構成は同じです)。何か不足していますか?