[React]Gradle build 오류 해결

김윤지·2025년 3월 21일

React and SpringBoot

목록 보기
1/1

발생한 문제

MallapiApplicationTests 실행 중 Hibernate 관련 DialectFactoryImpl 오류 발생
org.hibernate.service.spi.ServiceException
org.hibernate.HibernateException: DialectFactoryImpl.java:191

📌 원인 분석:
Hibernate가 사용할 데이터베이스 정보를 찾지 못함
application.properties가 src/main/resources에만 존재하고, 테스트 실행 시 Spring Boot가 src/test/resources를 찾지 못했음

해결을 위한 시도들

1️⃣ Gradle, Java 설정 문제 해결

JAVA_HOME 문제 해결 → JDK 17 설정 정상화
Gradle 프로젝트를 VSCode에서 인식하도록 재설정 (Java: Clean the Java Language Server Workspace)

2️⃣ 테스트 DB 설정 수정 시도
application.properties에 DB 설정 추가
하지만 src/main/resources/application.properties에만 추가해서 테스트 실행 시 적용되지 않음

3️⃣ MariaDB 드라이버 추가 & Gradle 설정 확인
build.gradle에 mariadb-java-client 추가

4️⃣ MariaDB 서비스 실행 확인
net start MariaDB로 DB 실행 확인
하지만 여전히 Hibernate가 테스트 실행 중 DB 설정을 찾지 못해 실패

[최종 해결] – 무엇이 문제였고, 어떻게 해결했는가?

✅ 문제의 핵심 원인:
테스트 실행 시 src/test/resources/application.properties가 없어서 Spring Boot가 운영용 설정(src/main/resources/application.properties)을 찾으려다가 실패

spring.datasource.username=root → 실제 MariaDB 유저(malldbuser)와 불일치

최종 해결 방법:

📌 src/test/resources/application.properties 파일의 내용을 다음과 같이 수정

spring.datasource.url=jdbc:mariadb://localhost:3306/malldb
spring.datasource.username=malldbuser
spring.datasource.password=malldbuser
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver

spring.jpa.hibernate.ddl-auto=update
spring.jpa.database-platform=org.hibernate.dialect.MariaDBDialect
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.show-sql=true

profile
지존해커

0개의 댓글