用户工具

站点工具


分享:技术:maven:profile的介绍和使用

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

后一修订版
前一修订版
分享:技术:maven:profile的介绍和使用 [2015/07/13 17:02]
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 -->
-<!-- mvn clean install #​默认local --> 
-<!-- mvn clean install -P local #​选择本地环境 --> 
-<!-- mvn clean install -P test #​选择test环境-->​ 
 <​profiles>​ <​profiles>​
  <​profile>​  <​profile>​
行 30: 行 27:
 </​profiles>​ </​profiles>​
 </​code>​ </​code>​
 +其中两个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环境
分享/技术/maven/profile的介绍和使用.1436778154.txt.gz · 最后更改: 2015/07/13 17:02 由 gxx