1. 程式人生 > >Maven 進行多環境配置,使用profile檔案進行配置

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吧!