본문 바로가기

SpringBoot

스프링부트 패키지 아래에 SpringBootApplication을 두지 않았을 때 문제

org.springframework.beans.factory.BeanDefinitionStoreException: Failed to read candidate component class: URL [jar:file:/Users/sungjaelee/.gradle/caches/modules-2/files-2.1/org.springframework.boot/spring-boot-autoconfigure/2.3.0.RELEASE/63e909ec18045377f5bcbedbf29f54691dc54ba0/spring-boot-autoconfigure-2.3.0.RELEASE.jar!/org/springframework/boot/autoconfigure/jdbc/DataSourceAutoConfiguration$EmbeddedDatabaseConfiguration.class]; nested exception is java.lang.IllegalStateException: Could not evaluate condition on org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration$EmbeddedDatabaseConfiguration due to org/springframework/dao/DataAccessException not found. Make sure your own configuration does not rely on that class. This can also happen if you are @ComponentScanning a springframework package (e.g. if you put a @ComponentScan in the default package by mistake)

 

 

위와 같은 에러로 서버가 실행되지 않았다.

굵은 글씨로 써놓은 것에서 힌트를 얻을 수 있다.

스프링부트 서버를 돌리는 main function이 특정 패키지 밑에 있지 않고,

default package 밑에 "실수로" 있으면 안 된다!

 

kotlin 밑에 패키지(여기선 com.randomchat)를 만들어주고 그 밑에 Application.kt를 넣어주자