1. 程式人生 > >利用maven的Profile構建不同環境的部署包,選擇不同properties構建不同的環境

利用maven的Profile構建不同環境的部署包,選擇不同properties構建不同的環境

參考文章網址:

http://www.cnblogs.com/yjmyzz/p/3941043.html

專案開發好以後,通常要在多個環境部署,我公司有三套:prod,dev,test,資料庫有兩套mysql,oracle

專案的相關環境的目錄:


pom.xml中的profiles片段配置如下:

<span style="white-space:pre">	</span><profiles>
		<profile>
			<id>dev</id>
			<activation>
				<activeByDefault>true</activeByDefault>
			</activation>
			<properties>
				<env>dev</env>
			</properties>
		</profile>
		<profile>
			<id>prod</id>
			<properties>
				<env>prod</env>
			</properties>
		</profile>
		<profile>
			<id>test</id>
			<properties>
				<env>test</env>
			</properties>
		</profile>
	<span style="white-space:pre">	</span><profile>
			<id>mysql</id>
			<properties>
				<db>mysql</db>
			</properties>
		</profile>
		<profile>
			<id>oracle</id>
 		<span style="white-space:pre">	</span><activation>
				<activeByDefault>true</activeByDefault>
			</activation> 
			<properties>
				<db>oracle</db>
			</properties>
		</profile>  
	</profiles>


專案工程中spring.xml檔案部分內容:

	<context:property-placeholder location="classpath:conf/${env}/jdbc-${db}-${env}.properties" />
	<util:properties id="config" location="classpath:conf/${env}/app-${env}.properties" />

各屬性節點的值,用佔位符"${屬性名}"佔位,maven在package時,會根據profile的環境自動替換這些佔位符為實際屬性值。