码迷,mamicode.com
首页 > 其他好文 > 详细

Maven随记3-profile

时间:2016-08-21 00:46:27      阅读:182      评论:0      收藏:0      [点我收藏+]

标签:

  profile允许为特殊的移植或者目的,自定义构建,一般位于pom.xml或者settings.xml中(maven3中已经不再支持profiles.xml这种外部profile)。

  profile标签几乎可以覆盖所有的元素,在设置好profile之后,我们需要将其激活。激活的方式有以下几种:

  一是命令行激活:mvn install -Pprofile -id; 二是在profile中设置<activation/><activeByDefault/>(如果默认为true则自动激活,如果默认false则根据其它条件是否符合来判断是否激活);
三是在settings.xml中根据<activeProfiles/><activeProfile/>profile-id中进行统一激活(要求这个profile-id必须是在settings.xml中所定义)。

  下面根据实际的场景来对profile的应用做进一步的说明。

  场景一:开发环境与生产环境的数据库连接设置不同,如何用profile实现?

  settings.xml与pom.xml配合实现,设置如下:

  <profiles>
    	<profile>  
			<id>environment</id>  
			<activation>  
				<activeByDefault>true</activeByDefault>   
			</activation>  
			<properties>  
				<environment.type>pro</environment.type>
				<property1>2</property1>
			</properties>   
		</profile>
  ...

 

<profiles>
		<profile>
			<id>devlopment</id>
			<activation>
				<property>
					<name>environment.type</name>
					<value>dev</value>
				</property>
			</activation>
			<properties>
				<jdbc.driverClassName>oracle.Driver</jdbc.driverClassName>
				<jdbc.url>oracle.URL</jdbc.url>
				<jdbc.name>oracle</jdbc.name>
				<jdbc.password>oracle</jdbc.password>
			</properties>
		</profile>
		<profile>
			<id>production</id>
			<activation>
				<property>
					<name>environment.type</name>
					<value>pro</value>
				</property>
			</activation>
			<properties>
				<jdbc.driverClassName>mysql.Driver</jdbc.driverClassName>
				<jdbc.url>mysql.URL</jdbc.url>
				<jdbc.name>mysql</jdbc.name>
				<jdbc.password>mysql</jdbc.password>
			</properties>
		</profile>
	</profiles>
	<build>
		<resources>
			<resource>
				<directory>src/main/resources</directory>
				<filtering>true</filtering>
			</resource>
		</resources>
	</build>

 这样可以很容易地转换环境变量的配置,要注意的是build一定要加,这是利用了Maven的Resource Filter功能,从而找到<directory/>下的文件,替代${}占位符的内容。如果此时需要修改dev或者pro,最方便的办法就是直接用命令行覆盖environment.type的值,虽然settings.xml默认的值是pro但如果用:mvn install -Denvironment.type=dev来编译打包,那么最终的值即为dev这一套。

 

待续。。。

  

  

Maven随记3-profile

标签:

原文地址:http://www.cnblogs.com/bruceChan0018/p/5791440.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!