[Trouble Shooting] QueryDsl java.lang.NoSuchFieldError: TREATED_PATH 해결
문제 상황
QuerDSL을 사용하던 중 아래와 같은 에러가 발생했다.
java.lang.NoSuchFieldError: TREATED_PATH
at com.querydsl.jpa.JPQLTemplates.<init>(JPQLTemplates.java:147) ~[querydsl-jpa-5.0.0.jar:na]
at com.querydsl.jpa.JPQLTemplates.<init>(JPQLTemplates.java:51) ~[querydsl-jpa-5.0.0.jar:na]
at com.querydsl.jpa.JPQLTemplates.<clinit>(JPQLTemplates.java:46) ~[querydsl-jpa-5.0.0.jar:na]
at com.querydsl.jpa.impl.JPAProvider.<clinit>(JPAProvider.java:59) ~[querydsl-jpa-5.0.0.jar:na]
at com.querydsl.jpa.impl.JPAQuery.<init>(JPAQuery.java:48) ~[querydsl-jpa-5.0.0.jar:na]
at com.querydsl.jpa.impl.JPAQueryFactory.query(JPAQueryFactory.java:138) ~[querydsl-jpa-5.0.0.jar:na]
at com.querydsl.jpa.impl.JPAQueryFactory.select(JPAQueryFactory.java:72) ~[querydsl-jpa-5.0.0.jar:na]
해결 방법
QueryDSL에 대한 버전을 명확하게 명세하지 않아 발생한 문제였다.
아래처럼 버전을 명시해 해결하였다.
dependencies {
//QueryDSL
implementation 'com.querydsl:querydsl-jpa:5.0.0'
implementation "com.querydsl:querydsl-apt:5.0.0"
implementation "com.querydsl:querydsl-core:5.0.0" // 🌟 여기!
}
Ref.
💛 개인 공부 기록용 블로그입니다. 👻