2017-03-31 5 views
1

내가 달성하고자하는 것은 classpath (/ resources 아래)에 직접 위치한 application.yml 파일에 디렉토리를 지정하는 것입니다. 내가 좋아하는 뭔가를 할 수 있도록하고 싶습니다 :스프링 부트 외부 속성 파일 (프로필 포함)?

spring:  
    datasource: 
    driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver 
    profiles: 
    active: dev 
    config: 
    location: C:\\app\\configs\\ 

다음 C 미만 : \ 설정 \ CONFIGS \ 위치, I는 다음과 같은로드되는 프로파일에 따라 여러 설정 파일,하고 싶은 :

c:\app\configs: 
application-dev.yml 
application-staging.yml 
application-production.yml 

이 방법을 사용하면 IDE는 항상 application-dev.yml을 기본값으로 사용합니다. 내가 gradle을 통해 응용 프로그램을 빌드하고 명령 행 인수를 전달하면서 실행하면 프로파일을 지정하여 해당 파일을로드 할 수 있습니다.

appliation.jar

내가 보여 본 적이 모든 예제 또는 답변 준비 자바 -jar -Dspring.profiles.active =이 어떻게 통과 : 만이 할 이상적으로,되는 수 사용하지 않는 경우에만 명령 줄에서 모든 설정 옵션

spring.config.location

기본 설정 파일 내에서

spring.profiles.active (예 : application.yml). 우선적으로 최소한의 배포를 위해 위에 설명 된대로이 기능을 설정해야합니다.

의견/도움에 감사드립니다!

답변

1

"application.yml"대신 "bootstrap.yml"으로 기본 구성을 제공 할 수 있습니다. 그 다음, 스프링 부트는 구성 경로에서 선택한 프로파일에 따라 올바른 구성을 선택해야합니다.

커맨드 라인 인수를 사용하고 싶지 않은 경우이 방법이 사용 사례에 가장 가까운 솔루션 인 것으로 보입니다.

+0

제안 해 주셔서 감사합니다. 내가 끝내기 위해 할 일은 세입자 당이 켜기/끄기 설정이 유지되는 프로필에 플래그를 만드는 것입니다. 그것은 좋은 방법입니다. 빈 값을 기반으로 Thymeleaf에 포함 된 채로 유지하는 것이 좋습니다. – SiriusBits

관련 문제