这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
分享:技术:maven:profile的介绍和使用 [2015/07/13 17:05] gxx |
分享:技术:maven:profile的介绍和使用 [2015/07/13 17:13] (当前版本) gxx |
||
---|---|---|---|
行 2: | 行 2: | ||
===== profile的介绍 ===== | ===== profile的介绍 ===== | ||
同一个项目使用同一个pom.xml来构建不同的环境时候,比如:本地环境(local)日志输出目录:D:/logs/record/record.log,而测试环境(test)日志输出目录:/home/gxx/logs/record/record.log;又比如:本地环境(local)使用数据源1,而测试环境(test)使用数据源2。 | 同一个项目使用同一个pom.xml来构建不同的环境时候,比如:本地环境(local)日志输出目录:D:/logs/record/record.log,而测试环境(test)日志输出目录:/home/gxx/logs/record/record.log;又比如:本地环境(local)使用数据源1,而测试环境(test)使用数据源2。 | ||
- | ==== profile的使用 ==== | + | ===== profile的使用 ===== |
<code xml> | <code xml> | ||
<!-- 使用 mvn clean install -P XXX 激活profile --> | <!-- 使用 mvn clean install -P XXX 激活profile --> | ||
行 27: | 行 27: | ||
</profiles> | </profiles> | ||
</code> | </code> | ||
- | 其中两个profile表示两个环境,local为本地环境,test为测试环境,<activeByDefault>true</activeByDefault>表示默认环境,<properties>内的值为相应环境下配置的值,不管在properties或者xml或者pom.xml中都可以取出这些值,取的方法是:${属性值},比如${deploy.environment.exclude}和${log4j.dir} | + | 其中两个profile表示两个环境,local为本地环境,test为测试环境,<activeByDefault>true</activeByDefault>表示默认环境,<properties>内的值为相应环境下配置的值,不管在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 | ||
+ | <code xml> | ||
+ | <!-- 拷贝资源 --> | ||
+ | <resources> | ||
+ | <resource> | ||
+ | <directory>src/main/resources</directory> | ||
+ | <filtering>true</filtering> | ||
+ | <excludes> | ||
+ | <exclude>**/application-${deploy.environment.exclude}-profile.xml</exclude> | ||
+ | </excludes> | ||
+ | </resource> | ||
+ | <resource> | ||
+ | <directory>src/main/java</directory> | ||
+ | <includes> | ||
+ | <include>**</include> | ||
+ | </includes> | ||
+ | <excludes> | ||
+ | <exclude>**/*.java</exclude> | ||
+ | </excludes> | ||
+ | </resource> | ||
+ | </resources> | ||
+ | </code> | ||
+ | * 配置log4j日志输出目录${log4j.dir},对于local则目录为D:/logs/record/record.log,对于test则目录为/home/gxx/logs/record/record.log | ||
+ | <code> | ||
+ | #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 | ||
+ | </code> | ||
+ | ===== maven构建时调用 ===== | ||
+ | mvn clean install #默认local | ||
+ | #因为id为local的profile中配置<activation> <activeByDefault>true</activeByDefault> </activation> | ||
+ | mvn clean install -P local #选择本地环境 | ||
+ | mvn clean install -P test #选择test环境 |