개인취향 JPA 사용기 - QueryDSL + Gradle + Lombok

안녕하세요 gemini 입니다.

저는 Lombok 을 선호하는 편이 아닙니다만 @Getter, @Setter Annotation 까지는 사용하고 있습니다.

Gradle 기반에서 QueryDSL QClass Generator 설정 관련해서 Lombok 때문에 삽질을 했던 정보를 공유하려 합니다.

대략적인 상황은 이렇습니다.

  • QueryDSL 은 JPA Annotation 을 이용하여 QClass 를 생성합니다.
  • 그런데 Entity 의 Lombok 의 Annotation 이 있을 경우 에러가 발생합니다.
  • 그래서 Generate 가 실패합니다.

해결하는 방법은 아래의 github issue 가 힌트가 됩니다.

위의 이슈를 참고해 제가 수정한 build.gradle 파일은 아래와 같습니다
가장 중요한 부분으로는 “-processor” 에 ’lombok.launch.AnnotationProcessorHider$AnnotationProcessor’ 을 추가하는 것입니다.

또한 apply plugin: ‘io.franzbecker.gradle-lombok’ 도 반드시 선언해주어야 합니다.

나머지 설정이 어떤지 궁금하실 분이계실까 봐, 제가 개발하고 있는 오픈소스 쪽 설정 파일도 공유드립니다.

저 같은 고생을 하시는 분이 안 계시길 바라며,, 읽어주셔서 감사합니다.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store