스프링 3.0 버전과 Querydsl 오류

크리링·2023년 6월 14일
0

오늘의 문제

목록 보기
6/9
post-thumbnail

기존의 코드를 리팩토링하기 위해 새로운 프로젝트를 만들며 기존의 스프링 버전에서 최신 스프링 버전 3.1.0으로 업데이트하며 Querydsl 관련된 설정 오류를 맞이하였다.






오류

오류 내용

execution failed for task ':compileQuerydsl'. java lang noclassdefFoundError javax/ersistence/entity

Querydsl 설정 문제로 보인다.
스프링 3.x에서는 Querydsl 설정이 기존에 사용했던 2.x 대와는 달라졌다.

위의 문제를 해결하기 위해 이것저것 검색해서 결과적으로는 동작하는 설정으로 만들 수 있었다.



build.gradle (결과)

plugins {
	id 'java'
	id 'org.springframework.boot' version '3.1.0'
	id 'io.spring.dependency-management' version '1.1.0'
}

group = 'team.needs'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '17'

configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
}

repositories {
	mavenCentral()
}

dependencies {
	...

	implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
	annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta"
	annotationProcessor "jakarta.annotation:jakarta.annotation-api"
	annotationProcessor "jakarta.persistence:jakarta.persistence-api"

	...
}

tasks.named('test') {
	useJUnitPlatform()
}

이전과 다르게 dependencies 부분에 jakarta 관련 설정을 추가하고 다음과 같이 build.gradle로 바꾸니 정상적으로 어플리케이션을 실행할 수 있었다.

0개의 댓글