인프런 커뮤니티 질문&답변

준영님의 프로필 이미지

작성한 질문수

자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]

38강. profile과 H2 DB

Whitelabel Error Page 라고 나옵니다.. 구글링해 보면서 찾아보았는데 어떻게 해결하죠?(해결)

작성

·

1.1K

·

수정됨

0

2024-04-11 12:48:27.471  INFO 24733 --- [nio-8080-exec-1] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring DispatcherServlet 'dispatcherServlet'
2024-04-11 12:48:27.471  INFO 24733 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Initializing Servlet 'dispatcherServlet'
2024-04-11 12:48:27.472  INFO 24733 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet        : Completed initialization in 1 ms

h2-console로 들어갔을때의 에러 코드이고

스크린샷 2024-04-11 오후 12.46.19.png이렇게 사이트 에러가 나오고

#spring:
#  config:
#    activate:
#      on-profile: local
#      datasource:
#        url: "jdbc:h2:mem:library;MODE=MYSQL;NON_KEYWORDS=USER"
#        username : "jo"
#        password : ""
#        driver-class-name : org.h2.Driver
#jpa:
#  hibernate:
#    ddl_auto : create
#    properties :
#      hibernate:
#        format_sql: true
#        show_sql : ture
#        dialect: org.hibernate.dialect.H2Dialect
#
#h2:
#  console:
#    enabled : true
#    path: /h2-console

  spring:
   config:
    activate:
      on-profile: local
  datasource:
    url: "jdbc:h2:mem:library;MODE=MYSQL;NON_KEYWORDS=USER"
    username: "sa"
    password: ""
    driver-class-name: org.h2.Driver
  jpa:
    hibernate:
      ddl-auto: create
    properties:
      hibernate:
        format_sql: true
        show_sql: true
        dialect: org.hibernate.dialect.H2Dialect
    open-in-view: false
  h2:
    console:
      enabled: true
      path: /h2-console

---
#spring:
#  datasource:
##    //Spring boot가 어떠한 dababase를 가리키게 할 것인가
#    url: "jdbc: mysql://localhost/library"
##        jdbc -> java로 만든 DB-connector
##        : mysql -> 종류는 mysql
##        //localhost 사용할 주소
##        /사용할 DB
#    username: "root"
#    password : "1234"
#    driver-class-name: com.mysql.cj.jdbc.Driver
##    DB에 접근할 때 사용할 프로그램을 의미
spring:
  config:
    active:
      on-profile: dev
  datasource:
    url: "jdbc:mysql://localhost/library"
    username: "root"
    password: ""
    driver-class-name: com.mysql.cj.jdbc.Driver

    jpa:
      hibernate:
        ddl-auto: none
        properties:
          hibernate:
            show_sql: true
            format_sql: true
            dialect : org.hibernate.dialect.MySQL8Dialect
            open-in-view: false

작성한 yml코드 입니다...

2024-04-11 18:52:49.259  INFO 27511 --- [           main] c.g.libraryapp.LibraryAppApplication     : Starting LibraryAppApplication using Java 18.0.2 on Jun0.local with PID 27511 (/Users/jojun-yeong/Desktop/강의 자료/1월25/Java_Spring_Library_Application/library-app/out/production/classes started by jojun-yeong in /Users/jojun-yeong/Desktop/강의 자료/1월25/Java_Spring_Library_Application/library-app)
2024-04-11 18:52:49.262  INFO 27511 --- [           main] c.g.libraryapp.LibraryAppApplication     : The following 1 profile is active: "local"
2024-04-11 18:52:49.899  INFO 27511 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data JPA repositories in DEFAULT mode.
2024-04-11 18:52:49.959  INFO 27511 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 51 ms. Found 3 JPA repository interfaces.
2024-04-11 18:52:50.529  INFO 27511 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2024-04-11 18:52:50.539  INFO 27511 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2024-04-11 18:52:50.540  INFO 27511 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.69]
2024-04-11 18:52:50.632  INFO 27511 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2024-04-11 18:52:50.632  INFO 27511 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1317 ms
2024-04-11 18:52:50.798  INFO 27511 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2024-04-11 18:52:51.112  INFO 27511 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2024-04-11 18:52:51.164  INFO 27511 --- [           main] o.hibernate.jpa.internal.util.LogHelper  : HHH000204: Processing PersistenceUnitInfo [name: default]
2024-04-11 18:52:51.233  INFO 27511 --- [           main] org.hibernate.Version                    : HHH000412: Hibernate ORM core version 5.6.14.Final
2024-04-11 18:52:51.460  INFO 27511 --- [           main] o.hibernate.annotations.common.Version   : HCANN000001: Hibernate Commons Annotations {5.1.2.Final}
2024-04-11 18:52:51.577  INFO 27511 --- [           main] org.hibernate.dialect.Dialect            : HHH000400: Using dialect: org.hibernate.dialect.MySQL8Dialect
2024-04-11 18:52:52.113  INFO 27511 --- [           main] o.h.e.t.j.p.i.JtaPlatformInitiator       : HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
2024-04-11 18:52:52.121  INFO 27511 --- [           main] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default'
2024-04-11 18:52:52.547  WARN 27511 --- [           main] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning
2024-04-11 18:52:52.793  INFO 27511 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2024-04-11 18:52:52.799  INFO 27511 --- [           main] c.g.libraryapp.LibraryAppApplication     : Started LibraryAppApplication in 4.005 seconds (JVM running for 4.452)

 

 

답변 2

0

최태현님의 프로필 이미지
최태현
지식공유자

안녕하세요, 준영님! 🙂 해결되셔서 다행입니다. 감사합니다! 👍

0

안녕하세요, 인프런 AI 인턴입니다.

“Whitelabel Error Page” 발생 시 문제 해결을 위한 가장 일반적인 원인 중 하나는 웹 애플리케이션의 application.properties or application.yml 파일 설정이 잘못되어 발생합니다. 특히, Spring Boot에서 H2 데이터베이스 콘솔에 접근하려 할 때 해당 에러가 나타나는 경우, H2 데이터베이스 경로 설정 문제일 가능성이 큽니다.

제시하신 정보와 유사한 경우를 다루는 이전 답변을 참조하기 바랍니다.

  1. application.yml 파일 설정에서의 설정 문제 및 IntelliJ 환경에서 데이터베이스 드라이버 인식 문제 해결 방법이 담겨있습니다.

    • 이 경우 사용자는 driver-class-name 인식에 문제가 있었고, 문제의 원인으로 IntelliJ 버전 차이를 꼽을 수 있었습니다. IntelliJ의 유료 버전 및 무료 버전에서 동작의 차이가 있을 수 있으며, 이런 설정 문제로 Whitelabel Error Page가 발생할 가능성이 있습니다.
  2. 계속 복습중이고 새로운 사이트를 만드는 중인데 - 여기서는 application.yml의 프로파일 설정과 데이터베이스 연결 설정을 다루고 있으며, 비슷한 설정 문제로 인하여 예상치 못한 동작이 발생한 사례입니다.

    • 특히, application.yml 설정에서 h2 데이터베이스의 접근 경로와 관련된 설정이 있는데, 올바르게 설정되지 않으면 Whitelabel Error Page가 나타날 수 있습니다.

위의 사례들은 yml 파일 설정과 관련된 문제를 다루고 있으나, 직접적인 Whitelabel Error Page에 대한 해결 방법에 초점을 맞춘 것은 아니므로, 다음 사항을 확인해볼 것을 권장합니다:
- application.yml에서 H2 콘솔 경로(/h2-console)가 올바르게 설정되어 있는지 확인합니다.
- Spring Security 설정에서 h2 콘솔 경로가 제대로 허용되었는지 검토합니다. Spring Security를 사용하는 경우, /h2-console/** 경로를 허용하지 않으면 접근할 수 없습니다.

실제로 문제가 해결되지 않는 경우, 더 자세한 설정 내용이나 애플리케이션의 구성 정보를 공유해 주세요. 이와 관련하여 추가적인 수정이 필요할 수도 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

준영님의 프로필 이미지

작성한 질문수

질문하기