maven多环境Profiles参数切换

       在实际开发项目中,常常有几种环境,一般情况下最少有三种环境:开发、测试、正式,各个环境之间的参数也各不相同,
于是在环境切换时我们需要修改为各环境需要的参数,就此我们可以通过maven的配置在切换环境是简化这一步骤.

项目结构图

src/main/resources/dev   目录是开发环境的配置项目
src/main/resources/test  目录是测试环境的配置项目

在pom.xml定义环境的profile

	<profiles>
		<profile>
			<id>dev</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<properties>
				<project.active>dev</project.active>
			</properties>
		</profile>
		<profile>
			<id>test</id>
			<properties>
				<project.active>test</project.active>
			</properties>
		</profile>
	</profiles>

activeByDefault标签的值为true的话表示为默认的profile,使用mvn install命令起作用的就是默认的
profiles.activation为我们配置激活的profile

<build>
		<finalName>SpringMVC_Spring_Mybatis</finalName>
		<resources>
			<resource>
				<directory>${basedir}/src/main/resources</directory>
				<includes>
					<include>message.properties</include>
					<include>${project.active}/**</include>
				</includes>
			</resource>
			<resource>
				<directory>${basedir}/src/main/resources</directory>
				<excludes>
					<exclude>db.properties</exclude>
					<exclude>user.properties</exclude>
					<exclude>message.properties</exclude>
					<exclude>**/**</exclude>
				</excludes>
			</resource>
		</resources>
		<plugins>
			<plugin>
				<groupId>org.apache.tomcat.maven</groupId>
				<artifactId>tomcat7-maven-plugin</artifactId>
				<version>2.2</version>
				<configuration>
					<uriEncoding>UTF-8</uriEncoding>
					<path>/</path>
					<port>8088</port>
				</configuration>
			</plugin>
		</plugins>
	</build>

      在工程的${basedir}/src/main/resource,目录下(basedir指的是pom文件所在的目录)

      <include>与<exclude>是用来圈定和排除某一文件目录下的文件是否是工程资源的,<include>中指定的为资源文件,其它的都不是,<exclude>中指定的除了这些都为资源文件,如果<include>与<exclude>划定的范围存在冲突时,以<exclude>划定的范围为准,当<include>与<exclude>指定了相同的文件时,它们是不会被排除的,如message.properties同时被<include>与<exclude>指定,但它们还是会被编译.

输入maven指令

mvn clean install -P test

编译结果如下图,只编译test环境需要的配置-P后面的test为我们所要激活的profile

猜你喜欢

转载自blog.csdn.net/liu911025/article/details/81207236