Spring error - Failed to configure a DataSource 에러 원인과 해결 방법

Failed to configure a DataSource 에러와 원인과 해결 방법

메시지

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

***************************
APPLICATION FAILED TO START
***************************

Description:

Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

Reason: Failed to determine a suitable driver class

Action:

Consider the following:
If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).

Process finished with exit code 0

원인

Failed to configure a DataSource - 서버 구동시 에러가 발생한다.

Failed to configure a DataSource 에러가 발생하는 이유는 Database에 연결할 때 필요한 정보가 없기 때문이다. 주로 스프링 프레임워크를 이용해 프로젝트를 구성하는 초기에 발생하는 문제이다. 간혹 모르고 application.properties 파일이나 application.yml 파일과 같은 설정 파일을 삭제하거나 위치를 옮겼을 때에도 볼 수 있는 현상이다. 

해결방법

스프링 프레임워크는 Database 연결 설정 정보뿐만 아니라 프로젝트에 전반에 필요한 환경 설정 값을 기본적으로는 파일로 관리할 수 있다. 대표적인 환경설정 파일로는 application.properties 파일과 application.yml 파일이 있으며, 둘 중 하나만 있으면 스프링 프레임워크의 환경 요소의 값을 설정할 수 있다. application.properties 파일과 application.yml 파일은 동일한 환경 요소 값들을 설정할 수 있지만 선언해서 사용하는 방식이 다르다는 점을 알아두면 된다.

application.properties
spring.datasource.url=jdbc:[Database]://localhost:3306/[Database스키마]
spring.datasource.username=[DB 아이디]
spring.datasource.password=[DB 비밀번호]
spring.datasource.driver-class-name=[JDBC 드라이버]
application.yml
spring:
  datasource:
    url: jdbc:[Database]://localhost:3306/[Database스키마]
    username: [DB 아이디]
    password: [DB 비밀번호]
    driver-class-name: [JDBC 드라이버]

 제시한 설정 파일을 보면 알 수 있듯이 application.properties 파일과 application.yml 파일의 가장 큰 다른 점은 환경 요소 값을 설정할 때 접근하는 문법이 다르다는 것이다. application.properties는 접근하는 환경 요소의 모든 경로를 다 적어야 하지만 application.yml은 들여 쓰기를 통해 같은 level에 있는 요소는 바로 접근이 가능하게 되어 있다.

반응형

댓글

Designed by JB FACTORY