[Querydsl 빌드 오류 해결] Unable to load class ‘com.mysema.codegen.model.Type
Updated:
Querydsl 적용 환경
- 스프링 부트 : 2.6.3
- Querydsl : 5.0
compileQuerydsl failed
QueryDSL을 사용하기 위해 build.gradle에 설정 코드를 추가해 주었으나 compileQuerydsl을 빌드하는 과정에서 오류가 발생하였습니다.
해당 문제는 스프링 부트 2.6부터는 Querydsl 5.0을 지원하며 5.0은 이전 버전의 설정을 조금 수정해줘야 했습니다.
다음과 같이 build.gradle 파일을 수정해 주었습니다.
buildscript {
ext {
queryDslVersion = "5.0.0"
}
}
plugins {
id 'org.springframework.boot' version '2.6.3'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
//querydsl 추가
id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
id 'java'
}
group = 'promisor'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'mysql:mysql-connector-java'
...
//querydsl 추가
implementation "com.querydsl:querydsl-jpa:${queryDslVersion}"
annotationProcessor "com.querydsl:querydsl-apt:${queryDslVersion}"
...
}
def querydslDir = "$buildDir/generated/querydsl"
querydsl {
jpa = true
querydslSourcesDir = querydslDir
}
sourceSets {
main.java.srcDir querydslDir
}
configurations {
querydsl.extendsFrom compileClasspath
}
compileQuerydsl {
options.annotationProcessorPath = configurations.querydsl
}
인텔리제이의 오른쪽에 위치한 Gradle
을 클릭한 다음 other
→ compileQuerydsl
을 눌러서 빌드를 시작해 주었습니다.
다음과 같이 빌드가 성공적으로 완료되었다는 메시지가 출력된것을 확인할 수 있었습니다.
build/generated 경로에 querydsl 모듈이 생성된 것을 최종적으로 확인할 수 있었습니다.
Leave a comment