Maven 進行多環境配置,使用profile檔案進行配置
說明:Spring和Maven都可以進行profile配置多環境,這裡只介紹Maven進行管理。我的開發環境:eclipse+maven
檔案結構目錄:
步驟:
一、在pom.xml檔案中,新增如下:
<profiles>
<profile>
<id>develop</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<env>dev</env>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<env>test</env>
</properties>
</profile>
</profiles>
<build>
<filters>
<filter>conf/${env}/jdbc.properties</filter>
</filters>
<resources>
<resource>
<directory>src/main/resources/</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
簡單說明:profiles裡面配置了兩個profile檔案,即有兩個環境dev和test環境,<env>標籤是為了切換環境,啟用需要的環境需要。<activeByDefault>設定為true表明,該profile是預設啟用狀態。
<filters>裡的<filter>的值表示你所要啟用的環境所需的配置檔案,比如:dev環境下,我需要啟用conf/dev/jdbc.properties;test環境下,我需要啟用conf/test/jdbc.properties。
<resources>中的<resource>標籤表示,我需要替換的目標檔案(替換的是值,不是整個jdbc.properties替換)
src/main/resource中的jdbc.properties內容如下:(所有內容就是下面的,行數自動忽略,那是我的註釋造成的,不用管)
二、在eclipse下設定maven的編譯環境(即在eclipse如何啟用我所需要的環境):
右擊該maven專案 -> Properties -> Maven ,在右邊的框中填入你想切換的環境。如下:
點選Apply 和OK即可。然後重啟伺服器即可。
如果你到此,成功切換,那麼已經完成,下面不用看了。如果不成功,提示com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException 位元組的 UTF-8序列的位元組 無效
請按如下操作:
三、出現UTF-8位元組無效的錯誤,首先請確定你所有的程式碼都是UTF-8編碼,然後還是報該錯誤。那麼就需要在pom.xml中新增如下:
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
新增地方如下圖:
說明:<project.build.sourceEncoding>標籤保證整個工程是UTF-8編碼
到此所有工作完成。
NOTE:spring也可以配置profile,但是需要配合web.xml進行,不是很靈活。所以本文選擇maven進行環境配置。
本文參考:http://www.petrikainulainen.net/programming/tips-and-tricks/creating-profile-specific-configuration-files-with-maven/
spring配置請參考:找不到了,自己google吧!