====== profile的介绍和使用 ======
===== profile的介绍 =====
同一个项目使用同一个pom.xml来构建不同的环境时候,比如:本地环境(local)日志输出目录:D:/logs/record/record.log,而测试环境(test)日志输出目录:/home/gxx/logs/record/record.log;又比如:本地环境(local)使用数据源1,而测试环境(test)使用数据源2。
===== profile的使用 =====
local
true
local
test
D:/logs/record/record.log
test
test
local
/home/gxx/logs/record/record.log
其中两个profile表示两个环境,local为本地环境,test为测试环境,true表示默认环境,内的值为相应环境下配置的值,不管在properties或者xml或者pom.xml中都可以取出这些值,取的方法是:${属性值},比如${deploy.environment.exclude}和${log4j.dir},具体用法如下:
* 拷贝资源时候过滤application-${deploy.environment.exclude}-profile.xml配置文件,对于local则过滤application-test-profile.xml,对于test则过滤application-local-profile.xml
src/main/resources
true
**/application-${deploy.environment.exclude}-profile.xml
src/main/java
**
**/*.java
* 配置log4j日志输出目录${log4j.dir},对于local则目录为D:/logs/record/record.log,对于test则目录为/home/gxx/logs/record/record.log
#RollingFile滚动日志
log4j.appender.RollingFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.RollingFile.File=${log4j.dir}
log4j.appender.RollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.RollingFile.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
===== maven构建时调用 =====
mvn clean install #默认local
#因为id为local的profile中配置 true
mvn clean install -P local #选择本地环境
mvn clean install -P test #选择test环境