2016-06-26 2 views
4

내 프로젝트에서 환경 특정 속성 파일을 사용하려고합니다. 예를 들어, 개발 용으로 실행하고 있다면, application.dev.properties를 사용해야합니다. 프로덕션 용으로는 application.prod.properties를 사용해야합니다.Springboot가 application.dev.properties 파일을로드하지 않음

내 리소스 폴더에 두 개의 파일이 있습니다. (생산)

  1. application.properties (개발 용)
  2. application.dev.properties는

나는 각 파일에 다음과 같은 하나 개의 속성을 가지고있다.

생산성

를 들어

server.database.host=192.168.1.1 

데브

server.database.host=192.168.12.125 

에 대한 그리고 위의 코드는 항상 자극 설정을합니다

public class DataSource { 

    @Value(${server.database.host}) 
    String host; 

아래 같은 클래스 (application.properties이)도 파일이 내가 dev에 대해 적절한 인수를 제공하더라도 --spring.profiles.active=dev

다음은 dev 특성 파일을로드하는 데 사용하는 명령입니다.

java -jar myjar.jar --spring.profiles.active=dev 

활성 프로필은 dev이지만 항상 prod db에 연결됩니다.

답변

18

몇 가지 문제는 내가 발견 :

  1. @Value 속성 이름이 String@Value("${server.database.host}") 같은
  2. 프로필 특정 속성 파일이 application-{profile}.properties 형식, 예를 따라야해야 application-dev.properties
  3. java -Dspring.profiles.active=dev -jar app.jar
+0

감사 이봐처럼 -D과 프로필을 통과 해보십시오 .. 나는 속성은 당신이 제안하고 3 단계에서 제안 명령이 잘 작동으로 .. 파일 이름을 정말 감사 변경 ..! – Sam

+0

3 단계에서 명령 형식이 작동했습니다. :) – Panos