maven profile

来源:互联网 发布:德阳数控铣床编程培训 编辑:程序博客网 时间:2024/06/05 12:46
profile 
通过profile可以针对特定的环境来定制不同的artifact, 比如这样写来覆盖compile插件的默认配置: 
Xml代码  收藏代码
  1. <profiles>#  
  2.     <profile>  
  3.       <id>production</id>#  
  4.       <build>#  
  5.         <plugins>  
  6.           <plugin>  
  7.             <groupId>org.apache.maven.plugins</groupId>  
  8.             <artifactId>maven-compiler-plugin</artifactId>  
  9.             <configuration>  
  10.               <debug>false</debug>#  
  11.               <optimize>true</optimize>  
  12.             </configuration>  
  13.           </plugin>  
  14.         </plugins>  
  15.       </build>  
  16.     </profile>  
  17.   </profiles>  

使用profile的命令行用法: 
mvn clean install -Pproduction -X    
可以根据某种条件激活对应 profile, 比如根据jdk版本包含指定的模块: 
Xml代码  收藏代码
  1. <profile>  
  2.       <id>jdk16</id>  
  3.       <activation>  
  4.         <jdk>1.6</jdk>  
  5.       </activation>  
  6.       <modules>  
  7.         <module>simple-script</module>  
  8.       </modules>  
  9.     </profile>  

activation元素列出了所有激活profile需要的条件, 比如下面的配置: 
Xml代码  收藏代码
  1. <activation>  
  2.         <activeByDefault>false</activeByDefault>#  
  3.         <jdk>1.5</jdk>#  
  4.         <os>  
  5.           <name>Windows XP</name>#  
  6.           <family>Windows</family>  
  7.           <arch>x86</arch>  
  8.           <version>5.1.2600</version>  
  9.         </os>  
  10.         <property>  
  11.           <name>mavenVersion</name>#  
  12.           <value>2.0.5</value>  
  13.         </property>  
  14.         <file>  
  15.           <exists>file2.properties</exists>#  
  16.           <missing>file1.properties</missing>  
  17.         </file>  
  18.       </activation>  

通过属性来激活: 
Xml代码  收藏代码
  1. <activation>  
  2.         <property>  
  3.           <name>!environment.type</name>  
  4.         </property>  
  5.       </activation>  

可以将profile从pom.xml中拆分出来, 单独的放在profiles.xml文件中 
除了可以在pom, pom外部设置profile外, 还可以在setting中设置profile, 可以将一些私密的信息设置在自己的settging.xml中 
通过profile指定属性, 比如有一个envClassifier属性: 
Xml代码  收藏代码
  1. <build>  
  2.     <plugins>  
  3.       <plugin>  
  4.         <artifactId>maven-jar-plugin</artifactId>  
  5.         <configuration>  
  6.           <classifier>${envClassifier}</classifier>  
  7.         </configuration>  
  8.       </plugin>  
  9.     </plugins>  
  10.   </build>  

那么可以有这样的profile来指定一个envClassifier: 
Xml代码  收藏代码
  1. <profile>  
  2.       <id>windows</id>  
  3.       <activation>  
  4.         <os>  
  5.           <family>windows</family>  
  6.         </os>  
  7.       </activation>  
  8.       <properties>  
  9.         <envClassifier>win</envClassifier>  
  10.       </properties>  
  11.     </profile>  

  
0 0
原创粉丝点击