Gradle with QueryDSL 4.1.4 and Intellij

I am trying to get my Q classes for queryDSL 1.4.1 restored in a Spring-Boot 1.5.2 project. IDE - Intellij Ultimate.

build.gradle

buildscript { ext { springBootVersion = '1.5.2.RELEASE' } repositories { mavenCentral() } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } } plugins { id 'net.ltgt.apt' version '0.8' id 'java' } apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'org.springframework.boot' apply plugin: 'idea' version = '0.0.5-SNAPSHOT' sourceCompatibility = 1.8 ext { queryDslVersion = '4.1.4' javaGeneratedSources = file("$buildDir/generated-sources/java") } compileJava { doFirst { javaGeneratedSources.mkdirs() } options.compilerArgs += [ '-parameters', '-s', javaGeneratedSources ] } idea { module { sourceDirs += file('generated/') generatedSourceDirs += file('generated/') } } repositories { mavenCentral() } dependencies { compile('org.springframework.boot:spring-boot-starter-data-jpa') compile('org.springframework.boot:spring-boot-starter-jdbc') compile('org.springframework.boot:spring-boot-starter-thymeleaf') compile('org.springframework.boot:spring-boot-starter-web') compile('org.springframework.boot:spring-boot-starter-security') compile('org.springframework.boot:spring-boot-starter-mail:1.5.7.RELEASE') compile ("org.thymeleaf.extras:thymeleaf-extras-springsecurity4:3.0.0.RELEASE") compile group: 'org.springframework.boot', name: 'spring-boot-starter-logging', version: '1.5.2.RELEASE' compile group: 'org.thymeleaf.extras', name: 'thymeleaf-extras-springsecurity4', version: '2.1.2.RELEASE' compile group: 'org.springframework.boot', name: 'spring-boot-autoconfigure', version: '1.5.2.RELEASE' compile("com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.4.0") compile group: 'org.hibernate', name: 'hibernate-java8' compile "com.querydsl:querydsl-root:$queryDslVersion" compile "com.querydsl:querydsl-jpa:$queryDslVersion" compileOnly "com.querydsl:querydsl-apt:$queryDslVersion:jpa" compile("org.springframework.boot:spring-boot-devtools") compile('mysql:mysql-connector-java') testCompile('org.hsqldb:hsqldb') testCompile('org.springframework.boot:spring-boot-starter-test') } 

Q classes are generated in:

 build\generated\source\apt\main\generated\com\example\domain 

Despite the fact that javaGeneratedSources points to the $ buildDir file / generated sources / java (this folder is empty).

enter image description here

Build Error:

C:\Users\User\IdeaProjects\demo3\src\main\java\com\example\services\EpServiceImpl.java:13: error: cannot find symbol import com.example.domain.QEp; ^ symbol: class QEp location: package com.example.domain

I check for other answers here and here , but I was not able to get these methods to work.

+1
source share
1 answer

I recommend trying this.

 buildscript { ext { querydslVersion = "4.1.4" metaModelsSourcesDir = file("metamodels") } } configurations { querydslapt } sourceSets { main { java { srcDir metaModelsSourcesDir } } } task querymodels(type: JavaCompile, group: 'build') { doFirst { delete metaModelsSourcesDir; metaModelsSourcesDir.mkdirs(); } classpath = configurations.compile + configurations.querydslapt destinationDir = metaModelsSourcesDir source = sourceSets.main.java options.compilerArgs = [ "-proc:only", "-processor", "com.querydsl.apt.jpa.JPAAnnotationProcessor", "-s", metaModelsSourcesDir ] } dependencies { compile("com.querydsl:querydsl-core:${querydslVersion}") compile("com.querydsl:querydsl-jpa:${querydslVersion}") querydslapt("com.querydsl:querydsl-apt:${querydslVersion}") } 
+4
source

All Articles