• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

패키징 할때 application-{prod/stage/dev}.properties 선택이 가능할까요?

21.06.09 22:17 작성 조회수 230

0

소스를 package 해서 .WAR 로 만들때, 

아래와 같이 각자 db설정이나 프로퍼티 설정이 다른경우가 꽤 있습니다. 

application-prod.properties

application-stage.properties

application-dev.properties

mvn package 할때 argument 추가로 주거나 해서 prod/stage/dev 를 적용시켜서 .WAR를 만들수는 없나요?

참고로 외부설정1부~3부, profile설정 강의를 쭉봤지만, 

저희쪽 소스는 만드신것 처럼 keesunProperties을 선언해서 runner에서 주입받거나 해 놓진 않았습니다. 

제가 소스에대한 오너십은 딱히 없어서 바꾸자고 하기엔 좀 무리가 있는데....

그냥 패키징 단계에서 적용할 프로퍼티 파일을 선택할 방법은 없을까요? ㅠㅠ

답변 1

답변을 작성해보세요.

1

그렇게 하실 수 있죠. 메이븐에도 프로파일이라는 기능이 있거든요. 그래서 빌드 할 때 특정 메이븐 프로파일을 사용해서 빌드하면 해당 프로파일에 정의해둔 설정을 사용해서 빌드할 수 있는데요. 이때 해당 메이븐 프로파일에 스프링의 spring.profiles.active의 값을 prod, stage, dev등으로 설정해둔다면 원하시는대로 사용할 수 있습니다. 메이븐 프로파일에 대해 좀 더 조사해 보세요.