오류
org.h2.jdbc.JdbcSQLNonTransientConnectionException : Unsupported database file version or invalid file header in file
상황
TDD 강의 학습 중 위와 같은 에러가 나왔다
Service 로직을 테스트 하는 과정에서 등장했으며, H2 데이터베이스 파일 버전이 현재 사용중인 버전과 달라서 일어난 상황이라 판단했다.
(또는 헤더가 손상되어 읽을 수 없을 경우인데, 헤더가 손상될 만한 상황이 없었기에 경우는 아니라 생각했다)
해결
라이브러리 의존성을 먼저 확인해보았다
맨 아래 com.h2database:h2:2.1.214로 설정이 되있었다
그래서 내가 깔았을만한 H2 DB를 확인하기 위해 사이트로 이동했다
https://www.h2database.com/html/download.html
다운로드로 넘어가자 맨 위에 두 개의 버전이 보였다
내가 23년 9월 이후 최신 버전을 받았기 때문에 난 2.2.224 버전이 필요했다
따라서 mvn repository로 이동해 maven 파일 의존성 코드를 가져왔다
https://mvnrepository.com/artifact/com.h2database/h2
맨위에 2.2.224 버전을 받기위해 들어간 다음
아래 Maven 의존성 설정을 긁어왔다
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>2.2.224</version>
<scope>test</scope>
</dependency>
그리고 해당 폴더의 pom.xml로 이동하여
h2database 부분을 갈아끼워줬다
이후 maven을 다시 빌드하고 테스트를 진행
테스트를 성공했다
'프로젝트' 카테고리의 다른 글
Google Java Format 오류 (0) | 2024.07.04 |
---|---|
IntelliJ Invalid VSC root mapping 오류 해결 (0) | 2024.06.07 |
QueryDsl Fetch Join Query문 비교 (0) | 2024.05.30 |
구글 바드 API 오류 해결 (0) | 2023.12.10 |
카카오 디버그 키 해시 가져오기 (1) | 2023.11.27 |