I am trying to use querydsl in my spring boot application. It also uses spring data jpa and gradle.
This is how query dsl is configured.
sourceSets {
generated {
java {
srcDirs = ['src/main/generated']
}
}
}
configurations {
querydslapt
}
dependencies {
compile group: 'com.mysema.querydsl', name: 'querydsl-jpa', version: querydsl_version
querydslapt group: 'com.mysema.querydsl', name: 'querydsl-apt', version: querydsl_version
}
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", "com.mysema.query.apt.jpa.JPAAnnotationProcessor"
]
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 {
sourceDirs += file('src/main/generated')
}
}
When I build the project Q Classes gets generated. But when I try to use those classes in my service classes. It gives can not resolve symbol at compile time. I just cant import those Q classes.