我正在尝试使用Spring Boot项目中的gradle为我的Mongo实体生成QueryDSL Q类。我正在使用的IDE是Intellij。
我正在使用的代码改编自此主题Generating JPA2 Metamodel from a Gradle build script:
sourceSets {
generated {
java {
srcDirs = ['src/generated/java']
}
}
}
configurations {
querydslapt
}
task generateQueryDSL(type: JavaCompile, group: 'build', description: 'Generates the QueryDSL query types') {
source = sourceSets.main.java
classpath = configurations.compile + configurations.querydslapt
options.compilerArgs = [
"-proc:only",
"-processor", "org.springframework.data.mongodb.repository.support.MongoAnnotationProcessor"
]
destinationDir = sourceSets.generated.java.srcDirs.iterator().next()
}
compileJava {
dependsOn generateQueryDSL
source generateQueryDSL.destinationDir
}
compileGeneratedJava {
dependsOn generateQueryDSL
options.warnings = false
classpath += sourceSets.main.runtimeClasspath
}
clean {
delete sourceSets.generated.java.srcDirs
}
idea {
module {
downloadJavadoc = true
downloadSources = true
generatedSourceDirs += file('src/generated/java')
}
}
问题是,在Intellij的最后我有3个模块。主要,测试和生成。测试和生成的模块取决于主模块。我还希望主模块依赖于生成的模块,因为我在代码中使用生成的Q类。
我所有解决此问题的尝试最终都是来自Gradle的循环依赖性错误。
有人可以给我一些提示,我可以尝试解决这个问题。
谢谢!