강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

안태승님의 프로필 이미지
안태승

작성한 질문수

스프링 DB 2편 강의 시작 시 jpa 관련 설정 에러

작성

·

35

·

수정됨

0

현재 eclipse spring boot를 사용해서 강의를 듣고 있고

스프링부트 3.x이상으로 강의를 들을려고 하는데 아래와 같은 에러 때문에 프로젝트를 run할 수 가 없습니다.

https://drive.google.com/drive/folders/1Aq7rxtobHBlO-yoftHXxpkt0fbvOl4Xp?usp=sharing
파일 구글 링크입니다
스프링 부트를 (이클립스)로 구동 하려고하면 아래와같은 로그가 콘솔에찍힙니다.

 :: Spring Boot ::   (v3.2.0)

 

2025-03-22T13:09:55.889+09:00  INFO 5008 --- [ main] h.itemservice.ItemServiceApplication  : Starting ItemServiceApplication using Java 17.0.6 with PID 5008 (C:\Users\Administrator\Desktop\스프링부트 공부\source\itemservice-db\bin\main started by Administrator in C:\Users\Administrator\Desktop\스프링부트 공부\source\itemservice-db)

2025-03-22T13:09:55.891+09:00  INFO 5008 --- [ main] h.itemservice.ItemServiceApplication  : The following 1 profile is active: "local"

2025-03-22T13:09:56.226+09:00  INFO 5008 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.

2025-03-22T13:09:56.275+09:00  INFO 5008 --- [ main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 40 ms. Found 2 JPA repository interfaces.

2025-03-22T13:09:56.367+09:00  WARN 5008 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: java.lang.IllegalStateException: Unable to load cache item

2025-03-22T13:09:56.373+09:00  INFO 5008 --- [ main] .s.b.a.l.ConditionEvaluationReportLogger :

 

Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.

2025-03-22T13:09:56.384+09:00 ERROR 5008 --- [ main] o.s.boot.SpringApplication  : Application run failed

 

java.lang.IllegalStateException: Unable to load cache item

at org.springframework.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:75) ~[spring-core-6.1.1.jar:6.1.1]

at org.springframework.cglib.core.internal.LoadingCache.get(LoadingCache.java:34) ~[spring-core-6.1.1.jar:6.1.1]

at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData.get(AbstractClassGenerator.java:130) ~[spring-core-6.1.1.jar:6.1.1]

at org.springframework.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:317) ~[spring-core-6.1.1.jar:6.1.1]

at org.springframework.cglib.proxy.Enhancer.createHelper(Enhancer.java:562) ~[spring-core-6.1.1.jar:6.1.1]

at org.springframework.cglib.proxy.Enhancer.createClass(Enhancer.java:407) ~[spring-core-6.1.1.jar:6.1.1]

at org.springframework.context.annotation.ConfigurationClassEnhancer.createClass(ConfigurationClassEnhancer.java:138) ~[spring-context-6.1.1.jar:6.1.1]

at org.springframework.context.annotation.ConfigurationClassEnhancer.enhance(ConfigurationClassEnhancer.java:109) ~[spring-context-6.1.1.jar:6.1.1]

at org.springframework.context.annotation.ConfigurationClassPostProcessor.enhanceConfigurationClasses(ConfigurationClassPostProcessor.java:533) ~[spring-context-6.1.1.jar:6.1.1]

at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanFactory(ConfigurationClassPostProcessor.java:310) ~[spring-context-6.1.1.jar:6.1.1]

at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:363) ~[spring-context-6.1.1.jar:6.1.1]

at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:153) ~[spring-context-6.1.1.jar:6.1.1]

at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:775) ~[spring-context-6.1.1.jar:6.1.1]

at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:597) ~[spring-context-6.1.1.jar:6.1.1]

at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.2.0.jar:3.2.0]

at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) ~[spring-boot-3.2.0.jar:3.2.0]

at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:455) ~[spring-boot-3.2.0.jar:3.2.0]

at org.springframework.boot.SpringApplication.run(SpringApplication.java:323) ~[spring-boot-3.2.0.jar:3.2.0]

at org.springframework.boot.SpringApplication.run(SpringApplication.java:1342) ~[spring-boot-3.2.0.jar:3.2.0]

at org.springframework.boot.SpringApplication.run(SpringApplication.java:1331) ~[spring-boot-3.2.0.jar:3.2.0]

at hello.itemservice.ItemServiceApplication.main(ItemServiceApplication.java:30) ~[main/:na]

Caused by: java.lang.NoClassDefFoundError: EntityManager

at java.base/java.lang.Class.getDeclaredConstructors0(Native Method) ~[na:na]

at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3373) ~[na:na]

at java.base/java.lang.Class.getDeclaredConstructors(Class.java:2555) ~[na:na]

at org.springframework.cglib.proxy.Enhancer.generateClass(Enhancer.java:655) ~[spring-core-6.1.1.jar:6.1.1]

at org.springframework.cglib.transform.TransformingClassGenerator.generateClass(TransformingClassGenerator.java:35) ~[spring-core-6.1.1.jar:6.1.1]

at org.springframework.cglib.core.DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:26) ~[spring-core-6.1.1.jar:6.1.1]

at org.springframework.cglib.core.ClassLoaderAwareGeneratorStrategy.generate(ClassLoaderAwareGeneratorStrategy.java:57) ~[spring-core-6.1.1.jar:6.1.1]

at org.springframework.cglib.core.AbstractClassGenerator.generate(AbstractClassGenerator.java:366) ~[spring-core-6.1.1.jar:6.1.1]

at org.springframework.cglib.proxy.Enhancer.generate(Enhancer.java:575) ~[spring-core-6.1.1.jar:6.1.1]

at org.springframework.cglib.core.AbstractClassGenerator$ClassLoaderData.lambda$new$1(AbstractClassGenerator.java:107) ~[spring-core-6.1.1.jar:6.1.1]

at org.springframework.cglib.core.internal.LoadingCache.lambda$createEntry$1(LoadingCache.java:52) ~[spring-core-6.1.1.jar:6.1.1]

at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]

at org.springframework.cglib.core.internal.LoadingCache.createEntry(LoadingCache.java:57) ~[spring-core-6.1.1.jar:6.1.1]

... 20 common frames omitted

Caused by: java.lang.ClassNotFoundException: EntityManager

at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[na:na]

at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[na:na]

at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[na:na]

... 33 common frames omitted

image.png

 

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

안태승님, 주어진 에러 로그를 보면 java.lang.ClassNotFoundException: EntityManager 오류가 발생하고 있습니다. 이는 EntityManager 클래스가 프로젝트에 포함되지 않았다는 것을 의미합니다.

이 문제를 해결하기 위해서는 EntityManager 클래스를 사용하기 위해 필요한 JPA 관련 종속성을 추가해야 합니다. Spring Boot와 JPA를 사용하고 있다면, spring-boot-starter-data-jpa 의존성을 pom.xml에 추가해야 합니다.

예를 들면, pom.xml에 다음과 같은 의존성을 추가할 수 있습니다:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

Maven을 사용 중이라면 위와 같은 내용을 pom.xml에 추가한 후 mvn clean install을 통해 종속성을 다시 설치 및 업데이트 해주시기 바랍니다. Gradle을 사용 중이라면 build.gradle 파일에 해당 의존성을 추가하고 빌드를 다시 실행해 주세요.

추가적으로 스프링 부트 프로젝트의 시작 클래스를 @SpringBootApplication으로 설정하여 모든 JPA 관련 설정이 정상적으로 초기화되도록 확인해 보시기 바랍니다.

더 많은 정보를 원하시면 Spring Boot Reference Documentation에서 확인하실 수 있습니다.

안태승님의 프로필 이미지
안태승

작성한 질문수

질문하기