利用maven的Profile構建不同環境的部署包,選擇不同properties構建不同的環境
阿新 • • 發佈:2019-02-03
參考文章網址:
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的環境自動替換這些佔位符為實際屬性值。