mvn profile的应用

假设我有个数据库配置文件db.xml
其中有个配置项:
<property name="url" value="${db-url}&amp;useOldAliasMetadataBehavior=true" />


其中的${db-url}根据不同的环境有不同的值。

这个时候就要用到mvn profile了。
首先定义profile:
<profile>
			<!-- uat运行时环境 -->
			<!-- 打包时执行:mvn clean install -P uat -Dmaven.test.skip=true -->
			<id>uat</id>
			<properties>
				<db-url>jdbc:mysql://xxxxxx:3312/xxxxx?characterEncoding=utf-8</db-url>
			</properties>
		</profile>



要让这个profile定义的值能指派到db.xml中,需要用到另外一个mvn plugin:
resources>
			<!-- 告诉maven打包的时候讲所有src/main/resources路径下的文件打包到jar中 -->
			<resource>
				<directory>src/main/resources</directory>
			</resource>
			<!-- 告诉maven打包的时候讲所有src/main/resources路径下的OSGI-INF/blueprint/database-config.xml的时候替换这个文件中的占位符${XXX} -->
			<resource>
				<directory>src/main/resources</directory>
				<includes>
					<include>db.xml</include>
					<include>OSGI-INF/blueprint/blueprint.xml</include>
				</includes>
				<filtering>true</filtering>
			</resource>
		</resources>


打包的时候执行这个命令指派profile就行了:
mvn clean install -P uat -Dmaven.test.skip=true 

猜你喜欢

转载自nevenchen.iteye.com/blog/2309342
mvn