아래 오류는 Spring Boot에서 H2 콘솔에 접근하는 방법을 설명한 가이드에 따라 작업하였으나 작동하지 않는다는 내용입니다.
에러 내용
http://localhost:8080/h2/ Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Wed Oct 26 12:31:46 BST 2016 There was an unexpected error (type=Not Found, status=404). No message available
해당 문제를 해결하기 위해 application.properties 파일을 다음과 같이 작성하였습니다.
spring.h2.console.enabled=true
spring.h2.console.path=/h2
그런데 기본 경로인 /h2-console도 작동하지 않습니다.
다른 답변에서는 Application.java에 다음과 같이 추가하여 문제를 해결한 것을 찾았습니다.
@Bean
public ServletRegistrationBean h2servletRegistration() {
ServletRegistrationBean registration = new ServletRegistrationBean(new WebServlet());
registration.addUrlMappings("/h2/*");
return registration;
}
하지만 제 application.properties 파일의 모든 내용이 무시되는 것 같습니다. 다음과 같이 추가해 보았지만 여전히 데이터베이스가 메모리에만 생성됩니다.
spring.datasource.url=jdbc:h2:file:~/portal;DB_CLOSE_ON_EXIT=FALSE
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driverClassName=org.h2.Driver
이 문제를 해결하기 위해 몇 가지 해결책을 제시해 드릴게요. 😊
해결책
- application.properties 파일의 경로를 확인해 보세요. Spring Boot는 기본적으로 클래스 경로의 /config 또는 / 프로젝트 루트에 있는 application.properties 파일을 자동으로 로드합니다.
- application.properties 파일에 설정한 내용이 적용되지 않는다면, application.properties 파일을 application.yml 파일로 변경해 보세요.
- H2 데이터베이스를 파일로 저장하려면 다음과 같이 설정해 보세요.위 설정은 H2 데이터베이스를 사용자의 홈 디렉토리에 portal이라는 파일로 저장하고, 애플리케이션이 종료될 때 데이터베이스를 닫지 않도록 설정합니다.
spring.datasource.url=jdbc:h2:file:~/portal;DB_CLOSE_ON_EXIT=FALSE spring.datasource.username=sa spring.datasource.password= spring.datasource.driverClassName=org.h2.Driver
- H2 콘솔을 사용하기 위해 다음과 같이 설정해 보세요.위 설정은 H2 콘솔을 활성화하고, 경로를 /h2로 설정합니다.
spring.h2.console.enabled=true spring.h2.console.path=/h2
결론
Spring Boot에서 H2 콘솔에 접근하는 문제는 주로 설정 파일(application.properties 또는 application.yml)의 경로, 설정 내용의 오타, 데이터베이스 URL 등의 문제로 인해 발생할 수 있습니다. 위에서 제시한 해결책을 차례대로 시도해 보세요. 문제가 계속되면 프로젝트의 구조와 설정 파일을 다시 한 번 확인해 보세요.
'Spring' 카테고리의 다른 글
에러"java.lang.NullPointerException: source" Error in Gradle (0) | 2023.11.09 |
---|---|
Spring Boot 테스트에서 @SpringBootConfiguration 찾을 수 없음 (0) | 2023.10.16 |
첨부파일 다운로드 시 확장자 뒤에 .html 붙는 현상 해결 [스프링] (0) | 2022.11.25 |
전자정부프레임워크 intellij에서 간단하게 열기 (0) | 2022.07.26 |