Dandy Now!
  • [스프링][문제해결] MariaDB와 log4jdbc 관련 에러
    2022년 06월 19일 00시 26분 43초에 업로드 된 글입니다.
    작성자: DandyNow
    728x90
    반응형

    구멍가게 코딩단의 책 "코드로 배우는 스프링 웹 프로젝트(개정판)"으로 Spring legacy project 실습을 하고 있다. 책에서는 Oracle DB로 실습하도록 되어 있는데 지난 부트 캠프 때 설치한 MySQL을 활용하여 실습하고 있다. MySQL은 MariaDB와 설정이 같아서 실습 중인 프로젝트에는 MariaDB로 세팅하여 진행 중이다.

    Chapter 08의 "영속/비즈니스 계층의 CRUD 구현"에서 영속 계층의 구현 준비 실습 중 톰캣 서버 구동 시 아래의 에러가 발생했다.

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/spring/root-context.xml]: Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [co
    m.zaxxer.hikari.HikariDataSource]:
     Constructor threw exception; nested exception is java.lang.RuntimeException: Driver net.sf.log4jdbc.sql.jdbcapi.DriverSpy claims to not accept jdbcUrl, jdbc:log4jdbc:mariadb://localhost:3306/book_ex

     

    해결방법은 project > src/main/resources > log4jdbc.log4j2.properties에 다음의 코드를 추가하면 된다.

    log4jdbc.drivers=org.mariadb.jdbc.Driver

     

    전체 코드는 다음과 같다.

    log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator
    log4jdbc.drivers=org.mariadb.jdbc.Driver

     

    728x90
    반응형
    댓글