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

Jaeyoung Park님의 프로필 이미지

작성한 질문수

스프링 부트 개념과 활용

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

21.06.09 22:17 작성

·

331

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

백기선님의 프로필 이미지
백기선
지식공유자

2021. 06. 11. 06:36

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