Spring Boot Data Jpa 프로젝트에 Querydsl 적용하기  예제를 따라 해보려고 하다보니

gradle 5.0에서는 잘 되지 않았다.

처음에는 gradle 에서 달라진 annotationprocessor 때문이라고 생각해서 테스트를 해봤는데 잘 되지 않았다.

    compileOnly('org.projectlombok:lombok')
    annotationProcessor("org.projectlombok:lombok")

한참 구글링 해보면서 이런 저런 옵션을 설정 해봤는데 최종적으로는 다음과 같은 설정을 하면

gradle 5.0에서 queryDSL 과 lombok ,spring-boot 이 잘 동작 한다.


plugin

plugins {
id "org.springframework.boot" version "2.1.1.RELEASE"
id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
id "io.franzbecker.gradle-lombok" version "1.14"
id "io.spring.dependency-management" version "1.0.6.RELEASE"
id "java"
id "idea"
}

io.franzbecker.gradle-lombok 를 사용하면 dependencies 설정이 자동으로 들어가기 때문에 따로 설정 하지 않아도 된다.

queryDSL 설정은 다음과 같이 한다.

// querydsl 적용
def querydslSrcDir = 'src/main/generated'

querydsl {
library = "com.querydsl:querydsl-apt"
jpa = true
querydslSourcesDir = querydslSrcDir
}

compileQuerydsl{
options.annotationProcessorPath = configurations.querydsl
}

configurations {
querydsl.extendsFrom compileClasspath
}

sourceSets {
main {
java {
srcDirs = ['src/main/java', querydslSrcDir]
}
}
}

이렇게 설정 하니 예제가 잘 동작 했다.

'지식창고 > Java' 카테고리의 다른 글

queryDSL lombok gradle 5.0  (0) 2019.01.02
eclipse workspace 삭제  (0) 2018.12.05
eclipse 설치한 플러그인  (0) 2018.04.10
gradle 유용한 플러그인  (0) 2016.07.25
eclipse neon으로 옮기면서 삽질  (0) 2016.07.15
eclipse + gradle => buildship  (0) 2016.07.04