티스토리 뷰
항상 개발은 하다보면 로컬환경에서 먼저 테스트를 하게되고
개발, 알파, 스테이징, 운영에 순차적으로 테스트 및 배포를 하게 된다.
이렇게 개발환경이 바뀔때마다 DB접속정보와 같은 설정들을 매번 바꿔줘야 한다면 정말 불편할 것이다.
이런 문제들을 해결하고자 메이븐 프로젝트는 Profiles라는 기능을 제공한다.
Maven Profiles란?
특정 Build 환경에 맞춘 리소스의 재배치 재배치 및 환경에 대한 옵션 설정 등을 실행할 수 있다.
위에 설명 한 것과 같이 보통 빌드 환경을 개발 / 알파 / 스테이징 / 운영 시스템 단위로 구분한다고 했을때, 각 단계에서 필요로 하는 설정 정보나 리소스 파일들을 배치시키는 역할을 한다고 보면 된다. 이렇게 배포 환경 별 빌드 환경을 재구성 시킬 수 있는 방안을 Profiles 통해서 작성할 수 있다.
특정 Build 환경에 맞춘 리소스의 재배치 재배치 및 환경에 대한 옵션 설정 등을 실행할 수 있다.
위에 설명 한 것과 같이 보통 빌드 환경을 개발 / 알파 / 스테이징 / 운영 시스템 단위로 구분한다고 했을때, 각 단계에서 필요로 하는 설정 정보나 리소스 파일들을 배치시키는 역할을 한다고 보면 된다. 이렇게 배포 환경 별 빌드 환경을 재구성 시킬 수 있는 방안을 Profiles 통해서 작성할 수 있다.
우리가 앞에서 말했던 문제들을 기 기능으로 해결해보자.
1. resources 폴더 생성 및 설정 파일 추가
테스트를 위해 simpleproject라는 메이븐 프로젝트를 새로 생성하였다.
여기에 src/main/resources 폴더를 추가한 후, 개발환경별로 폴더를 따로 만들었다.(dev,alpha,real)
그 이후에 설정 파일을 넣어주었다.(db.properties)
2. 설정파일 내용(db.properties)
db.properties에 각 개발환경에서 사용할 DB접속 정보를 넣어주었다.
dev환경의 경우 다음과 같다.
3. pom.xml 설정
먼저 개발환경의 pom.xml 파일의 project태그 안에 Profiles 태그를 추가한다.
각 Profile별 이름을 설정한다.
그 다음으로 빌드할때 어떤 디렉터리를 사용할지 설정한다.
마지막으로 빌드설정을 따로 하지 않았을때 어떤 개발환경을 Default로 사용할지 설정한다.
4. 빌드 설정
이제 빌드를 해볼텐데 메이븐 빌드를 할때 -P 옵션으로 어떤 개발환경을 사용할지만 적어주면 된다!
예) mvn clean package -P dev
메이븐 프로젝트를 빌드한 후에 빌드된 경로로 가서 -P dev 옵션을 줬을때 어떤 db.properties를 가져왔는지 확인 해보자.
이렇게 dev옵션을 줬을때 resource/dev 폴더에 넣어둔 설정 파일을 제대로 가져온 것을 확인 할 수 있다!
예제소스: https://github.com/porys/MavenProfiles
- Total
- Today
- Yesterday
- 세입자
- 본드
- 렌트
- 뉴질랜드
- 랜드로드
- 개발
- 랜트
- 사실
- 메이븐
- 서일농원
- 독일
- 청국장
- 인텔리지
- 노란벽 작업실
- IntelliJ
- 솔리
- 수내
- java
- 맛집
- 자바
- 개발환경
- 집주인
- 법
- 알파벳
- c++
- 프로그래밍 언어
- 팩트
- 독일어
- 월세
- maven
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |