본문 바로가기
Programming/Java, Spring

스프링 3.0 이상에서 query dsl 설정 javax.annotation.Entity 에러

by Renechoi 2023. 1. 27.

 

querydsl 의존성 추가하는 부분 

 

2.x 버전에서는 gradle 빌드시 

 

아래와 같이 버전을 명시해주지 않아도 avax.annotation.Entity 를 찾을 수 없다는 에러가 발생하지 않는다. 

 

implementation 'com.querydsl:querydsl-jpa'
implementation "com.querydsl:querydsl-core"
implementation "com.querydsl:querydsl-collections"
annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta"
annotationProcessor "jakarta.annotation:jakarta.annotation-api" // java.lang.NoClassDefFoundError (javax.annotation.Generated) 대응 코드
annotationProcessor "jakarta.persistence:jakarta.persistence-api" // java.lang.NoClassDefFoundError (javax.annotation.Entity) 대응 코드

 

3.0 이상에서는 아래와 같이 해주어야 한다. 

 

/ queryDSL 설정
implementation 'com.querydsl:querydsl-jpa:5.0.0:jakarta'
implementation "com.querydsl:querydsl-core"
implementation "com.querydsl:querydsl-collections"
annotationProcessor "com.querydsl:querydsl-apt:${dependencyManagement.importedProperties['querydsl.version']}:jakarta"
annotationProcessor "jakarta.annotation:jakarta.annotation-api" // java.lang.NoClassDefFoundError (javax.annotation.Generated) 대응 코드
annotationProcessor "jakarta.persistence:jakarta.persistence-api" // java.lang.NoClassDefFoundError (javax.annotation.Entity) 대응 코드

 

 

 

+ thymeleaf도 스프링 3.0 이상에서 아래와 같이 해주어야 함

import org.thymeleaf.spring6.templateresolver.SpringResourceTemplateResolver;
반응형