1. enable filtering of resources like below
(아래와 같이 resource filtering 을 활성화 시킨다)
<resources> <resource> <directory>src/main/resources</directory> <filtering>true</filtering> </resource> </resources> |
2. then, declare a place holder in your src/main/resources/my.properties, like below.
(properties 파일에 대입할 변수를 아래와 같이, 선언한다 => ${db.server.ip})
prop1 = blah prop2 = ${db.server.ip} |
3. declare properties and it's value in a profile.
(maven 의 설정파일인 pom.xml 에 아래와 같이 properties 파일에 대한 변수와 값을 설정한다.)
<profiles> <profile> <id>db-config</id> <activation> <property> <name>db</name> <value>config</value> </property> </activation> <properties> <db.server.ip>192.168.100.111</db.server.ip> </properties> </profile> </profiles> |
4. run maven with option like below
(아래와 같이 maven process-resources phase 를 db=config 옵션과 같이 실행한다.)
$ mvn process-resource -Ddb=config |
5. And more, we can even set ip address (i.e. 192.168.100.111) <db.server.ip>192.168.100.111</db.server.ip> to other one like below.
(그리고, 더 나아가서 command line 으로 pom.xml 파일에 있는 변수에 대한 값을 아래와 같이 설정할 수 있다.)
$ mvn package -Dbb.server.ip=192.168.1.1 |
Because, maven phase package is later than process-resources.
(왜냐하면, maven 에서 package phase 는 process-resources phase 보다 나중에 실행되기 때문이다.)
'Programming > Java' 카테고리의 다른 글
spring restful service - JSON response (0) | 2013.09.13 |
---|---|
IntelliJ GenerateSerialVersionUID (0) | 2013.09.13 |
ExceptionUtils - java 에서 exception 관련 처리를 쉽게 도와주는 클래스 (0) | 2013.08.30 |
Java 프로그램에서 garbage collection 이 얼마나 일어나는 지 알아 내기 (0) | 2013.05.14 |
Java 에서 자원 할당하고 해제하기 (괜찮은 패턴) (0) | 2013.05.14 |