• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

compileQuerydsl 오류

21.11.24 22:21 작성 조회수 22k

6

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
안녕하세요 강의를 처음 듣고 있는 학생입니다
 
강의 영상에서와 같이 프로젝트를 만든후 compileQueryDsl을 실행하니
 
Unable to load class 'com.mysema.codegen.model.Type'.
 
이 에러가 나오면서 컴파일이 되지 않습니다 도저히 답을 찾을 수가 없어서 질문남겨요

답변 6

·

답변을 작성해보세요.

71

ggggg님의 프로필

ggggg

2021.11.26

동일한 오류 발생해서 해결한 뒤에 댓글 남겨봅니다!

하단에 설정 방법 공유드립니다.

좋은 하루 되세요!

 

[설정]

buildscript {
ext {
queryDslVersion = "5.0.0"
}
}

plugins {
id 'org.springframework.boot' version '2.6.0'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
//querydsl 추가
id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
id 'java'
}

group = 'study'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

configurations {
compileOnly {
extendsFrom annotationProcessor
}
}

repositories {
mavenCentral()
}

dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
//querydsl 추가
implementation "com.querydsl:querydsl-jpa:${queryDslVersion}"
implementation "com.querydsl:querydsl-apt:${queryDslVersion}"


annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

test {
useJUnitPlatform()
}

//querydsl 추가 시작
def querydslDir = "$buildDir/generated/querydsl"

querydsl {
jpa = true
querydslSourcesDir = querydslDir
}
sourceSets {
main.java.srcDir querydslDir
}
compileQuerydsl{
options.annotationProcessorPath = configurations.querydsl
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
querydsl.extendsFrom compileClasspath
}
//querydsl 추가 끝
창완님의 프로필

창완

2021.11.27

감사합니다!

H K님의 프로필

H K

2021.12.07

감사합니다

이런 정보는 어디서 보는건가요 ??? 이런 설정 부분이요

고석현님의 프로필

고석현

2022.01.18

감사합니다!

gch03915님의 프로필

gch03915

2022.01.25

너무 감사합니다..ㅠㅠ

이상호님의 프로필

이상호

2022.03.10

감사합니다!!

이찬형님의 프로필

이찬형

2022.04.03

감사합니다!

석재현님의 프로필

석재현

2022.09.15

감사합니다. 덕분에 해결했습니다 ㅠ

Develoforyoo님의 프로필

Develoforyoo

2022.10.24

감사합니다. 덕분에 해결했어요.

smathj님의 프로필

smathj

2022.12.12

감사합니다 덕분에 해결했어요 ㅠㅠ

8

스프링 부트 2.6 이상, Querydsl 5.0 지원 방법을 메뉴얼에 마지막에 추가해두었습니다.

다음 링크에서 업데이트된 메뉴얼을 받아주세요.

https://www.inflearn.com/course/Querydsl-%EC%8B%A4%EC%A0%84/lecture/30112?tab=curriculum

감사합니다.

 

 

7

seunghwan jung님의 프로필

seunghwan jung

2021.11.26

혹시나 도움될까 올려봅니다.

gradle 5.0 이상부터는 해당 옵션을 넣어줘야 한다고 해서(https://kangwoojin.github.io/programing/query-dsl-setting/)

이렇게 부분 수정 했더니 됩니다.

 

//querydsl 추가 시작
def querydslDir = "$buildDir/generated/querydsl"

querydsl {
jpa = true
querydslSourcesDir = querydslDir
}
sourceSets {
main.java.srcDir querydslDir
}
compileQuerydsl{
options.annotationProcessorPath = configurations.querydsl
}

configurations {
compileOnly {
extendsFrom annotationProcessor
}
querydsl.extendsFrom compileClasspath
}
//querydsl 추가 끝

3

도움 주신 분들 모두 감사합니다.

fe00045님 댓글 남겨주신 분들 참고해서 진행 부탁드려요^^

0

Architect님의 프로필

Architect

2022.11.22

저도 같은 문제로 고생을 좀 했는데, 아래 글에서 설정 항목마다 이유를 포함하여 자세히 설명해줍니다.

이 글에서는 com.ewerk.gradle.plugins.querydsl 플러그인을 걷어내는 방법까지도 설명을 해주고 있습니다.

(2년간 업데이트가 없는 프로젝트가 그레이들의 발전을 따라가지 못해 설정이 계속 추가되어야 하는 것이 마음에 안 들어 걷어내겠다고 생각하셨다네요.)

http://honeymon.io/tech/2020/07/09/gradle-annotation-processor-with-querydsl.html

0

안녕하세요. fe00045님

전체 프로젝트를 압축해서 구글 드라이브로 공유해서 링크를 남겨주세요.

구글 드라이브 업로드 방법은 다음을 참고해주세요.

https://bit.ly/3fX6ygx

 

주의: 업로드시 링크에 있는 권한 문제 꼭 확인해주세요

 

추가로 다음 내용도 코멘트 부탁드립니다.

1. 실행 방법을 알려주세요.

2. 어떻게 문제를 확인할 수 있는지 자세한 설명을 남겨주세요.

감사합니다.

fe00045님의 프로필

fe00045

질문자

2021.11.25

https://drive.google.com/file/d/1lMD7eP9XEyibWu9YsJsJm-uZjCvARZKv/view?usp=sharing

 

제 프로젝트 파일은 이겁니다.

강의에서와 같이 gradle - other - compileQuerydsl 실행하니 

 

Unable to load class 'com.mysema.codegen.model.Type'.

 

This is an unexpected error. Please file a bug containing the idea.log file.

 

오류가 나옵니다

 

일단은 강사님이 올려주신 강의자료에서의 build.gradle을 완전 복사붙여넣기 하니 잘 실행은 되서 수강하는데 문제점은 없으나 최신 스프링부트 버전에서는 실행이 안되는거같습니다.