본문 바로가기
IT/Java

[Error] Caused by: java.lang.NoClassDefFoundError: javax/persistence/Entity maven

by 성준하이 2024. 6. 9.
반응형

Querydsl을 셋팅하면서 아래와 같은 에러를 마주쳤다.

 

Caused by: java.lang.NoClassDefFoundError: javax/persistence/Entity maven

 

이전 포스팅에서 jakarta 에 대해서 다룬 글이 있다.

자세한 내용은 참고 포스팅 참고 바란다.

 

원인은 참고 포스팅에 존재했다.

 

javax 의 기능이 아닌 jakarta 의 기능을 사용해야한다.

 

그럼 maven 을 dependency 받을때부터 바꿔서 받아야한다.

 

mavenRepository 사이트에서는 pom.xml 의 가이드가 아래와 같다.

<!-- https://mvnrepository.com/artifact/com.querydsl/querydsl-jpa -->
<dependency>
    <groupId>com.querydsl</groupId>
    <artifactId>querydsl-jpa</artifactId>
    <version>5.0.0</version>
</dependency>

하지만 여기서 classfier 를 추가해줘야한다.

 

<!-- https://mvnrepository.com/artifact/com.querydsl/querydsl-jpa -->
<dependency>
    <groupId>com.querydsl</groupId>
    <artifactId>querydsl-jpa</artifactId>
    <version>5.0.0</version>
    <classifier>jakarta</classifier>
</dependency>

 

 

gradle일 경우엔 아래와 같다.

  implementation("com.querydsl:querydsl-jpa:5.0.0:jakarta")


참고 포스팅

https://thenicesj.tistory.com/391

 

Java 와 Jakarta

자바의 변천사에 대해서 알아보면 자바는 JavaEE 와 J2EE 등 플랫폼으로 사용되다가 최근 2018년도부터는 자카르타EE로 명칭을 바꾸고 새로운 변화를 시작했다. Java EE 1999년 썬 마이크로시스템즈가 J

thenicesj.tistory.com

 

반응형

댓글