MySQL을 연동하는 과정에서 이러한 오류가 발생했다
java.lang.IllegalArgumentException: Unable to instantiate org.springframework.boot.sql.init.dependency.DependsOnDatabaseInitializationDetector [org.mybatis.spring.boot.autoconfigure.MybatisDependsOnDatabaseInitializationDetector]
at org.springframework.boot.util.Instantiator.instantiate(Instantiator.java:131) ~[spring-boot-2.6.5.jar:2.6.5]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) ~[na:na]
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195) ~[na:na]
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474) ~[na:na]
at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:913) ~[na:na]
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:na]
at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:578) ~[na:na]
at org.springframework.boot.util.Instantiator.instantiate(Instantiator.java:118) ~[spring-boot-2.6.5.jar:2.6.5]
at org.springframework.boot.util.Instantiator.instantiate(Instantiator.java:103) ~[spring-boot-2.6.5.jar:2.6.5]
at org.springframework.boot.sql.init.dependency.DatabaseInitializationDependencyConfigurer$DependsOnDatabaseInitializationPostProcessor.getDetectors(DatabaseInitializationDependencyConfigurer.java:157) ~[spring-boot-2.6.5.jar:2.6.5]
at org.springframework.boot.sql.init.dependency.DatabaseInitializationDependencyConfigurer$DependsOnDatabaseInitializationPostProcessor.detectDependsOnInitializationBeanNames(DatabaseInitializationDependencyConfigurer.java:144) ~[spring-boot-2.6.5.jar:2.6.5]
at org.springframework.boot.sql.init.dependency.DatabaseInitializationDependencyConfigurer$DependsOnDatabaseInitializationPostProcessor.postProcessBeanFactory(DatabaseInitializationDependencyConfigurer.java:111) ~[spring-boot-2.6.5.jar:2.6.5]
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:325) ~[spring-context-5.3.17.jar:5.3.17]
at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:191) ~[spring-context-5.3.17.jar:5.3.17]
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:746) ~[spring-context-5.3.17.jar:5.3.17]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564) ~[spring-context-5.3.17.jar:5.3.17]
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.6.5.jar:2.6.5]
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:740) ~[spring-boot-2.6.5.jar:2.6.5]
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:415) ~[spring-boot-2.6.5.jar:2.6.5]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) ~[spring-boot-2.6.5.jar:2.6.5]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1312) ~[spring-boot-2.6.5.jar:2.6.5]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1301) ~[spring-boot-2.6.5.jar:2.6.5]
at hello.itemservice.ItemServiceApplication.main(ItemServiceApplication.java:17) ~[classes/:na]
Caused by: java.lang.UnsupportedClassVersionError: org/mybatis/spring/boot/autoconfigure/MybatisDependsOnDatabaseInitializationDetector has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0
at java.base/java.lang.ClassLoader.defineClass1(Native Method) ~[na:na]
at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1017) ~[na:na]
at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:800) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:698) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:621) ~[na:na]
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:579) ~[na:na]
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178) ~[na:na]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522) ~[na:na]
at java.base/java.lang.Class.forName0(Native Method) ~[na:na]
at java.base/java.lang.Class.forName(Class.java:398) ~[na:na]
at org.springframework.util.ClassUtils.forName(ClassUtils.java:284) ~[spring-core-5.3.17.jar:5.3.17]
at org.springframework.boot.util.Instantiator$TypeSupplier$1.get(Instantiator.java:210) ~[spring-boot-2.6.5.jar:2.6.5]
at org.springframework.boot.util.Instantiator.instantiate(Instantiator.java:125) ~[spring-boot-2.6.5.jar:2.6.5]
... 24 common frames omitted
오류코드인데 아무리 구글에 찾아도 나오지 않아서 직접 발품으로 하나하나 찾았다.
한 4시간 걸린거같은데 결론만 얘기하자면 DB버전이 높아서 문제가 된거 였다.
김영한 스프링 강의를 듣는 사람이라면 자바 jdk 11을 사용할텐데 MySQL을 연결하는 과정에 MySQL이 버전이 높으면 맞지 않아서 이러한 오류가 발생하게 된다.
그럼으로 jdk11일때는 MySQL에 맞는 버전으로 사용하자.
'[자바] 스프링 오류' 카테고리의 다른 글
could not resolve root entity 'item' , Entity클래스를 못찾을때 (1) | 2023.05.02 |
---|---|
[자바 스프링] AutoWired 자동 주입이 안될때 (1) | 2023.03.11 |