2017-10-30 2 views
1

Spring-Boot 1.5.2 프로젝트에서 queryDSL 1.4.1 용 Q 클래스를 가져 오려고합니다. IDE는 Intellij Ultimate입니다. javaGeneratedSources 포인트가 해당 폴더가 비어 $ buildDir/생성 - 소스/자바 (파일로 비록QueryDSL 4.1.4 및 Intellij를 사용하는 Gradle

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

:

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 클래스

은에서 발생).

enter image description here

빌드 오류는 다음과 같습니다

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

나는 다른 스택 오버플로가 herehere 답변을 확인하지만, 나는이 방법을 작동시킬 수 없었다.

답변

4

나는 이것을 시도하는 것이 좋습니다.

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}") 
} 
관련 문제