공부/스프링부트

Spring Boot | querydsl 오류 - Unable to load class 'com.mysema.codegen.model.Type'.

유하 yuha 2022. 1. 24. 10:44

Querydsl 에러

스프링부트 querydsl을 설정하면서

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

위 에러가 계속 났다...

 

처음에 무작정 따라하다가 에러가 난걸 보고 Gradle 5.0 이상부터는 아래처럼 설정해줘야 된다고 그래서 설정했으나 계속 에러가 났다.

 

plugins {
	...
    id 'com.ewerk.gradle.plugins.querydsl' version '1.0.10' // querydsl 추가
}

dependencies {
	...
    // querydsl
    implementation "com.querydsl:querydsl-jpa"
    implementation "com.querydsl:querydsl-apt"
}


// 가장 아래 추가
// querydsl 추가 시작

def querydslDir = "$buildDir/generated/querydsl"

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

sourceSets {
    main.java.srcDir querydslDir
}

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
    querydsl.extendsFrom compileClasspath
}

compileQuerydsl {
    options.annotationProcessorPath = configurations.querydsl
}

// querydsl 추가 끝

 

다른 게시물 아무리 구글링 해봐도 설정 자체가 틀리지 않은 것 같은데 ㅠ_ㅠ

 

gradle -> tasks -> bulid -> clean
gradle -> tasks -> other -> compileQuerydsl

해주고 다시 실행하니까 오류 사라졌다!

 

다른 게시물에서는 다른 코드 다 똑같았는데 우연히 찾아본 이 코드가 도움이 되었다.

querydsl {
    library = "com.querydsl:querydsl-apt" // 이 부분!
    jpa = true
    querydslSourcesDir = querydslDir
}

 

표시해둔 저 코드 추가해줘야 에러 안난다.