전체 방문자
오늘
어제
모달조아
Better than yesterday
모달조아
  • 분류 전체보기 (147)
    • PS (86)
      • BOJ (79)
      • 프로그래머스 (6)
    • 이론 (41)
      • 자료구조 (2)
      • 알고리즘 (8)
      • 데이터베이스 (1)
      • 운영체제 (1)
      • 네트워크 (3)
      • 디자인패턴 (7)
      • Java (13)
      • Spring (4)
      • JPA (1)
      • Git (1)
    • 개발 (18)
    • 프로젝트 (1)
    • 기록 (0)
      • 후기 (0)
    • etc (1)

최근 글

티스토리

hELLO · Designed By 정상우.
모달조아

Better than yesterday

spring.config.import 설정으로 env 파일을 읽을 때 생길 수 있는 오류
개발

spring.config.import 설정으로 env 파일을 읽을 때 생길 수 있는 오류

2023. 4. 22. 05:35
spring:
  config:
    import:
      - optional:file:env/dev-db.env

  datasource:
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: ${DB_URL}
    username: ${DB_USERNAME}
    password: ${DB_PASSWORD}

  jpa:
    database: mysql
    database-platform: org.hibernate.dialect.MySQL8Dialect
    open-in-view: false
    properties:
      hibernate:
        show_sql: true
        format_sql: true

 

위와 같이 env 파일을 읽어와서 사용하려고 하였는데 아래와 같은 에러가 발생했다.

Caused by: java.lang.IllegalStateException: File extension is not known to any PropertySourceLoader. If the location is meant to reference a directory, it must end in '/' or File.separator

PropertySourceLoader 가 읽을 수 없는 확장자라는 의미이다.

기본적으로 PropertySourceLoader 가 제공하는 확장자는 .properties, .yml, .json, .xml 이다.

사실 생각해보면 당연하다. .env 라는 확장자는 관례상 환경변수를 나타내는 확장자이지만 공식적인 파일 형식은 아니다. 그러므로 아래와 같이 뒤에 확장자를 명시해주면 에러를 해결할 수 있다.

spring:
  config:
    import:
      - optional:file:env/dev-db.env[.properties]

env 파일을 properties 형식으로 작성해줬으므로 [.properties] 를 붙혀줬다.

 

 

저작자표시 (새창열림)

'개발' 카테고리의 다른 글

Docker 에서 /docker-entrypoint-initdb.d 를 통한 초기화 시 인코딩 오류 문제 해결법  (1) 2023.05.01
docker-compose 로 개발 환경의 DB 구축하기  (0) 2023.04.22
plugin id: 'org.asciidoctor.convert' version: '2.2.1' was not found in any of the following sources 해결법  (0) 2023.04.16
@Modifying 의 flushAutomatically 속성을 명시해야 하는 이유  (0) 2023.04.09
스케줄링, 배치로 S3 이미지 삭제 처리  (0) 2023.04.05
    '개발' 카테고리의 다른 글
    • Docker 에서 /docker-entrypoint-initdb.d 를 통한 초기화 시 인코딩 오류 문제 해결법
    • docker-compose 로 개발 환경의 DB 구축하기
    • plugin id: 'org.asciidoctor.convert' version: '2.2.1' was not found in any of the following sources 해결법
    • @Modifying 의 flushAutomatically 속성을 명시해야 하는 이유
    모달조아
    모달조아

    티스토리툴바