java.lang.IllegalStateException: Failed to load ApplicationContext
미해결
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
안녕하십니까 영한님!!! 잘만 되던 테스트코드가 어느 순간 아래와 같은 오류가 발생합니다. 해결방법들을 찾아보고 시도해보았지만 해결되지 않아 맨 아래에 구글 드라이브 코드 링크 남겨드립니다. java.lang.IllegalStateException: Failed to load ApplicationContext for [WebMergedContextConfiguration@6bc25ac2 testClass = spring.lectureA.service.MemberServiceTest, locations = [], classes = [spring.lectureA.LectureAApplication], contextInitializerClasses = [], activeProfiles = [], propertySourceLocations = [], propertySourceProperties = ["org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true"], contextCustomizers = [org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory$DisableObservabilityContextCustomizer@1f, org.springframework.boot.test.autoconfigure.properties .PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@6c130c45, org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@20f5239f, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@2fd1433e, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@3c73951, org.springframework.boot.test.context.SpringBootTestAnnotation@6788e070], resourceBasePath = "src/main/webapp", contextLoader = org.springframework.boot.test.context.SpringBootContextLoader, parent = null] at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext( DefaultCacheAwareContextLoaderDelegate.java:143 ) at org.springframework.test.context.support .DefaultTestContext.getApplicationContext( DefaultTestContext.java:127 ) at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary( ServletTestExecutionListener.java:191 ) at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance( ServletTestExecutionListener.java:130 ) at org.springframework.test.context.TestContextManager.prepareTestInstance( TestContextManager.java:241 ) at org.springframework.test.context.junit.jupiter.SpringExtension.postProcessTestInstance( SpringExtension.java:138 ) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$10( ClassBasedTestDescriptor.java:377 ) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.executeAndMaskThrowable( ClassBasedTestDescriptor.java:382 ) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$invokeTestInstancePostProcessors$11( ClassBasedTestDescriptor.java:377 ) at java.base/java.util.stream.ReferencePipeline$3$1.accept( ReferencePipeline.java:197 ) at java.base/java.util.stream.ReferencePipeline$2$1.accept( ReferencePipeline.java:179 ) at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining( ArrayList.java:1625 ) at java.base/java.util.stream.AbstractPipeline.copyInto( AbstractPipeline.java:509 ) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto( AbstractPipeline.java:499 ) at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining( StreamSpliterators.java:310 ) at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining( Streams.java:735 ) at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining( Streams.java:734 ) at java.base/java.util.stream.ReferencePipeline$Head.forEach( ReferencePipeline.java:762 ) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstancePostProcessors( ClassBasedTestDescriptor.java:376 ) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$instantiateAndPostProcessTestInstance$6( ClassBasedTestDescriptor.java:289 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance( ClassBasedTestDescriptor.java:288 ) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$4( ClassBasedTestDescriptor.java:278 ) at java.base/java.util.Optional.orElseGet( Optional.java:364 ) at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$5( ClassBasedTestDescriptor.java:277 ) at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances( TestInstancesProvider.java:31 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0( TestMethodTestDescriptor.java:105 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare( TestMethodTestDescriptor.java:104 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare( TestMethodTestDescriptor.java:68 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$prepare$2( NodeTestTask.java:123 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.prepare( NodeTestTask.java:123 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.execute( NodeTestTask.java:90 ) at java.base/java.util.ArrayList.forEach( ArrayList.java:1511 ) at org.junit.platform.engine.support .hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll( SameThreadHierarchicalTestExecutorService.java:41 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$6( NodeTestTask.java:155 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$8( NodeTestTask.java:141 ) at org.junit.platform.engine.support .hierarchical.Node.around( Node.java:137 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$9( NodeTestTask.java:139 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.executeRecursively( NodeTestTask.java:138 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.execute( NodeTestTask.java:95 ) at java.base/java.util.ArrayList.forEach( ArrayList.java:1511 ) at org.junit.platform.engine.support .hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll( SameThreadHierarchicalTestExecutorService.java:41 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$6( NodeTestTask.java:155 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$8( NodeTestTask.java:141 ) at org.junit.platform.engine.support .hierarchical.Node.around( Node.java:137 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.lambda$executeRecursively$9( NodeTestTask.java:139 ) at org.junit.platform.engine.support .hierarchical.ThrowableCollector.execute( ThrowableCollector.java:73 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.executeRecursively( NodeTestTask.java:138 ) at org.junit.platform.engine.support .hierarchical.NodeTestTask.execute( NodeTestTask.java:95 ) at org.junit.platform.engine.support .hierarchical.SameThreadHierarchicalTestExecutorService.submit( SameThreadHierarchicalTestExecutorService.java:35 ) at org.junit.platform.engine.support .hierarchical.HierarchicalTestExecutor.execute( HierarchicalTestExecutor.java:57 ) at org.junit.platform.engine.support .hierarchical.HierarchicalTestEngine.execute( HierarchicalTestEngine.java:54 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:147 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:127 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:90 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.lambda$execute$0( EngineExecutionOrchestrator.java:55 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.withInterceptedStreams( EngineExecutionOrchestrator.java:102 ) at org.junit.platform.launcher.core.EngineExecutionOrchestrator.execute( EngineExecutionOrchestrator.java:54 ) at org.junit.platform.launcher.core.DefaultLauncher.execute( DefaultLauncher.java:114 ) at org.junit.platform.launcher.core.DefaultLauncher.execute( DefaultLauncher.java:86 ) at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute( DefaultLauncherSession.java:86 ) at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute( SessionPerRequestLauncher.java:53 ) at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs( JUnit5IdeaTestRunner.java:57 ) at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute( IdeaTestRunner.java:38 ) at com.intellij.rt.execution.junit.TestsRepeater.repeat( TestsRepeater.java:11 ) at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs( IdeaTestRunner.java:35 ) at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart( JUnitStarter.java:235 ) at com.intellij.rt.junit.JUnitStarter.main( JUnitStarter.java:54 ) Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is java.lang.IllegalArgumentException: Unrecognized legacy hibernate.hbm2ddl.auto value : create-dro at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.initializeBean( AbstractAutowireCapableBeanFactory.java:1770 ) at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.doCreateBean( AbstractAutowireCapableBeanFactory.java:598 ) at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.createBean( AbstractAutowireCapableBeanFactory.java:520 ) at org.springframework.beans.factory.support .AbstractBeanFactory.lambda$doGetBean$0( AbstractBeanFactory.java:326 ) at org.springframework.beans.factory.support .DefaultSingletonBeanRegistry.getSingleton( DefaultSingletonBeanRegistry.java:234 ) at org.springframework.beans.factory.support .AbstractBeanFactory.doGetBean( AbstractBeanFactory.java:324 ) at org.springframework.beans.factory.support .AbstractBeanFactory.getBean( AbstractBeanFactory.java:200 ) at org.springframework.context.support .AbstractApplicationContext.getBean( AbstractApplicationContext.java:1155 ) at org.springframework.context.support .AbstractApplicationContext.finishBeanFactoryInitialization( AbstractApplicationContext.java:932 ) at org.springframework.context.support .AbstractApplicationContext.refresh( AbstractApplicationContext.java:608 ) at org.springframework.boot.SpringApplication.refresh( SpringApplication.java:734 ) at org.springframework.boot.SpringApplication.refreshContext( SpringApplication.java:436 ) at org.springframework.boot.SpringApplication.run ( SpringApplication.java:312 ) at org.springframework.boot.test.context.SpringBootContextLoader.lambda$loadContext$3( SpringBootContextLoader.java:137 ) at org.springframework.util.function.ThrowingSupplier.get( ThrowingSupplier.java:58 ) at org.springframework.util.function.ThrowingSupplier.get( ThrowingSupplier.java:46 ) at org.springframework.boot.SpringApplication.withHook( SpringApplication.java:1406 ) at org.springframework.boot.test.context.SpringBootContextLoader$ContextLoaderHook.run( SpringBootContextLoader.java:545 ) at org.springframework.boot.test.context.SpringBootContextLoader.loadContext( SpringBootContextLoader.java:137 ) at org.springframework.boot.test.context.SpringBootContextLoader.loadContext( SpringBootContextLoader.java:108 ) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal( DefaultCacheAwareContextLoaderDelegate.java:187 ) at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext( DefaultCacheAwareContextLoaderDelegate.java:119 ) ... 72 more Caused by: jakarta.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory; nested exception is java.lang.IllegalArgumentException: Unrecognized legacy hibernate.hbm2ddl.auto value : create-dro at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory( AbstractEntityManagerFactoryBean.java:421 ) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet( AbstractEntityManagerFactoryBean.java:396 ) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet( LocalContainerEntityManagerFactoryBean.java:352 ) at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.invokeInitMethods( AbstractAutowireCapableBeanFactory.java:1817 ) at org.springframework.beans.factory.support .AbstractAutowireCapableBeanFactory.initializeBean( AbstractAutowireCapableBeanFactory.java:1766 ) ... 93 more Caused by: java.lang.IllegalArgumentException: Unrecognized legacy hibernate.hbm2ddl.auto value : create-dro at org.hibernate.tool.schema.Action.interpretHbm2ddlSetting( Action.java:230 ) at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$ActionGrouping.determineAutoSettingImpliedAction( SchemaManagementToolCoordinator.java:725 ) at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator$ActionGrouping.interpret( SchemaManagementToolCoordinator.java:733 ) at org.hibernate.boot.internal.MetadataImpl.shouldOrderTableColumns( MetadataImpl.java:480 ) at org.hibernate.boot.internal.MetadataImpl.orderColumns( MetadataImpl.java:400 ) at org.hibernate.internal.SessionFactoryImpl.<init>( SessionFactoryImpl.java:250 ) at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build ( SessionFactoryBuilderImpl.java:431 ) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build ( EntityManagerFactoryBuilderImpl.java:1455 ) at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory( SpringHibernateJpaPersistenceProvider.java:75 ) at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory( LocalContainerEntityManagerFactoryBean.java:376 ) at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory( AbstractEntityManagerFactoryBean.java:409 ) ... 97 more [수정] create-drop으로 바꾸어도 해결되지 않습니다 구글드라이브 링크 남겨드립니다. 감사합니다. https://drive.google.com/file/d/1ZboNJYtcy5yXo5WNBIcKVaWVlfnxAEu4/view?usp=drive_link
- java
- spring
- 웹앱
- spring-boot
- jpa





