通過Maven配置測試環境和開發環境連接不同的數據庫


通過maven配置測試環境和開發環境連接不同的其他數據庫

操作上分3個步驟

1.在數據持久層的pom中定義profiles,爲開發和測試環境定義不同的profile

<profiles>
<profile>
<id>dev</id>
<activation>
<activebydefault>true</activebydefault>
</activation>
<properties>
<jdbc.driverclassname>com.mysql.jdbc.driver</jdbc.driverclassname>
<jdbc.url>jdbc:mysql://192.168.1.100:3306/test</jdbc.url>
<jdbc.username>test</jdbc.username>
<jdbc.password >test2011</jdbc.password >
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<jdbc.driverclassname>com.mysql.jdbc.driver</jdbc.driverclassname>
<jdbc.url>jdbc:mysql://192.168.1.200:3306/test</jdbc.url>
        <jdbc.username>test</jdbc.username>
<jdbc.password >test2011</jdbc.password >
</properties>
</profile>
</profiles>


定義id爲dev的profile:jdbc.url屬性爲jdbc:mysql://192.168.1.100:3306/test

定義id爲test的profile:jdbc.url屬性爲jdbc:mysql://192.168.1.200:3306/test

 

2.在數據持久層的pom中定義resources過濾

其他數據庫 的配置放在/src/main/resources和/src/test/resources中,在pom中增加resource過濾

 1 <build>
2 <resources>
3 <resource>
4 <directory>${project.basedir}/src/main/resources</directory>
5 <filtering>true</filtering>
6 </resource>
7 </resources>
8 <testresources>
9 <testresource>
10 <directory>${project.basedir}/src/test/resources</directory>
11 <filtering>true</filtering>
12 </testresource>
13 </testresources>
14 </build>

3.在/src/main/resources和/src/test/resources中定義jdbc連接文件jdbc.properties

1 jdbc.driverclassname=${jdbc.driverclassname}
2
3 jdbc.url=${jdbc.url}
4
5 jdbc.username=${jdbc.username}
6
7 jdbc.password =${jdbc.password }

經過了如上3個步驟後運行mvn命令會執行id爲dev的profile(由於在id爲dev的配置中增加了<activebydefault>true</activebydefault>的配置)

在mvn命令後增加 -ptest運行,會執行id爲test的profile。

經過如上配置後,maven會在src/main/resources/ 和 /src/test/resources 中的文件中(即第3步驟配置的jdbc.properties)查找在profile中定義的屬性(如jdbc.properties中的${jdbc.driverclassname}等等)。


 

發佈了56 篇原創文章 · 獲贊 3 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章