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등으로 설정해둔다면 원하시는대로 사용할 수 있습니다. 메이븐 프로파일에 대해 좀 더 조사해 보세요.