[Spring]_Maven 의 Profiles 기능 구현,사용하기_(pom.xml)

2022. 6. 22. 10:19[Spring]_

728x90
반응형

사용 툴 : Intellij

빌더 : Maven

 

목적 : properties 를 일일히 수정하지 않고 maven 의 profile 기능을 사용하여 원하는 properties 로 빌드하도록 구성


Maven 의 Profile 기능이란?

= 설정 정보나 리소스 파일을 배치시킨다, 빌드 환경을 재구성 시킨다.

 

사용 이유

 

빌드 및 배포를 할때 버전관리, 혹은 실제 DB 혹은 test용 DB 등 여러가지 환경을 바꾸어야 할 때가 있습니다.

이때 maven 의 profile 기능을 사용하게 되면, 특정 Build 환경에 맞춘 리소스, 환경 설정 등을 클릭 한번으로 해결할 수 있습니다.

ex) spring 의 properties 파일들. ( DB 접속 정보, API 접속 IP, PW.. 등등)


구성 방법

1. pom.xml 수정

우선 maven 에 profile을 등록합니다. 그리고 동기화를 해줍니다.

 

  • id : profile의 id 이며 아래의 목록의 이름이 됩니다.
  • maven.test.skip : maven test skip 여부
  • deploy.phase : 환경 별 구분점 지정 ( 디렉토리 이름이 될 예정, deploy.phase 가 아닌 다른 변수명도 가능 )

 

2. Build 부분 수정 ( pom.xml )

위의 profile 설정 후 바로 아래에 다음과 같이 작성해 줍니다.

  • plugin : maven build plugin 종류 설정, 버전 설정, 인코딩 설정
  • resource : 리소스가 위치한 곳, 어떤 파일 형식을 적용할지를 지정
  • directory : 리소스 위치
  • includes : 해당 형식의 파일을 별도로 지정
  • filtering : 자동적으로 변수를 찾아서 값으로 치환해 주기 위해 사용

 

3. resource-phase 디렉토리 생성

 

파일구조는 다음과 같습니다.

src/main/resources 가 있고

상황별로 갈아 끼워줄

resources-local 과 resources-mavenTest를 생성합니다.

 

구조가 동일하게 META-INF/property 안에 교체할 db.properties 와 common.properties 를 준비합니다.

구조는 프로젝트마다 상이함

 

resources-mavenTest 안에 common.properties 에 다음과 같이 테스트 properties를 만듭니다.


빌드하기

Intellij 에서는 매우 쉽게 profiles 를 변경할 수 있습니다.

우측 옆면에 붙어있는 maven을 선택, ( 창이 닫혀있다면, setting-> tool window 검색 -> 체크박스 선택 )

maven clean 이후 원하는 profiles 선택후 build 혹은 run


결과 확인

 

빌드, RUN 을 하게되면 target 의 classes에 지금 빌드된 properties 를 확인할 수 있습니다.

해당 common.properties 를 선택해서 확인하게 되면

작성했던 testMaven 안의 properties가 적용된 모습을 확인 할 수 있습니다.

 

 

이렇게 maven 의 profile 기능을 사용해서 편하게 환경설정을 바꿀 수 있습니다.

test DB에 붙거나, 운용 DB 에 붙을때, 혹은 기타 설정파일을 일일이 수정하지 않아도 됩니다.

해당 기능을 이용하면 개발시간을 단축 시킬 수 있을거 같습니다.

감사합니다.

728x90
반응형