[spring-boot] Query dsl 설정 오류

강민승·2023년 8월 4일
0

spring

목록 보기
6/17

query dsl을 설정하면서 두 가지 오류를 겪었다. 바로 설명 GO

📌 첫 번째 오류

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

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

-> 이건 버전이 맞지 않아서 그런데 김영한 님의 강의에서 버전을 맞추는 것은 옛날 버전이므로 현재 spring-boot 2.6 이상을 쓰는 사람들은 버전을 다시 맞춰야한다.

📍 코드

buildscript {
	ext {
		queryDslVersion = "5.0.0"
	}
}


plugins {
	id 'java'
	id 'org.springframework.boot' version '2.7.14'
	id 'io.spring.dependency-management' version '1.0.15.RELEASE'
	id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
}


group = 'group'
version = '0.0.1-SNAPSHOT'

java {
	sourceCompatibility = '11'
}

configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
}
repositories {
	mavenCentral()
}

dependencies {
	.
	.
	.
	//querydsl 추가
	implementation "com.querydsl:querydsl-jpa:${queryDslVersion}"
	annotationProcessor "com.querydsl:querydsl-apt:${queryDslVersion}"

	//junit 5를 쓰기 위한 설정
	testImplementation('org.springframework.boot:spring-boot-starter-test') {
		exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
	}

}
test {
	useJUnitPlatform()
}
//querydsl 추가 시작
def querydslDir = "$buildDir/generated/querydsl"
querydsl {
	jpa = true
	querydslSourcesDir = querydslDir
}
sourceSets {
	main.java.srcDir querydslDir
}
configurations {
	querydsl.extendsFrom compileClasspath
}
compileQuerydsl {
options.annotationProcessorPath = configurations.querydsl
}
//querydsl 추가 끝

📌 두 번째 오류

Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:

이 오류는 구글에 검색하면 많은 자료들이 나오는데 gradle과 sdk 버전을 맞추라고 하는 것들이다. 하지만 나는.. 모두.. 맞춰놨었따..ㅠㅠㅠ

📍 오류 발생 이유

위의 코드에서 일부를 가져온 것이다. 한번 보자

plugins {
	id 'java'
	id 'org.springframework.boot' version '2.7.14'
	id 'io.spring.dependency-management' version '1.0.15.RELEASE'
	id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
}

buildscript {
	ext {
		queryDslVersion = "5.0.0"
	}
}

buildscriptplugins 보다 먼저 빌드가 아래처럼 되어야 오류가 안난다..

buildscript {
	ext {
		queryDslVersion = "5.0.0"
	}
}


plugins {
	id 'java'
	id 'org.springframework.boot' version '2.7.14'
	id 'io.spring.dependency-management' version '1.0.15.RELEASE'
	id "com.ewerk.gradle.plugins.querydsl" version "1.0.10"
}
profile
Step by Step goes a long way. 꾸준하게 성장하는 개발자 강민승입니다.

0개의 댓글