本文介绍如何使用Maven Profile按需加载开发、测试和产品环境的配置文件,可以避免在测试环境和产品环境进行部署时反复更改配置文件的工作。
使用开发环境的配置文件,编译和启动tomcat容器
编译项目:
mvn clean install -Denv=dev
启动容器:
mvn tomcat7:run -Denv=dev
- 1
- 2
- 3
- 4
使用测试环境的配置文件,编译和启动tomcat容器
编译项目:
mvn clean install -Denv=test
启动容器:
mvn tomcat7:run -Denv=test
- 1
- 2
- 3
- 4
使用生产(产品)环境的配置文件,编译和启动tomcat容器
编译项目:
mvn clean install -Denv=prod
启动容器:
mvn tomcat7:run -Denv=prod
web工程下定义一个数据库连接的配置文件
文件内容如下:
#---------------oracle database setting--------------------
jdbc.driver=oracle.jdbc.driver.OracleDriver
jdbc.url=${jdbc.url}
jdbc.username=${jdbc.username}
jdbc.password=${jdbc.password}
#dbcp settings
dbcp.maxIdle=15
dbcp.maxActive=40
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
filters/dev/database.properties配置文件内容如下:
jdbc.url=jdbc:oracle:thin:@172.1.1.1:1521:sdh
jdbc.username=usera
jdbc.password=aaa
- 1
- 2
- 3
filters/test/database.properties配置文件内容如下:
jdbc.url=jdbc:oracle:thin:@172.1.1.2:1521:sdh
jdbc.username=userb
jdbc.password=bbb
- 1
- 2
- 3
filters/prod/database.properties配置文件内容如下:
jdbc.url=jdbc:oracle:thin:@172.1.1.3:1521:sdh
jdbc.username=userc
jdbc.password=ccc
- 1
- 2
- 3
在web工程下的pom.xml中配置如下:
<profiles>
<profile>
<id>dev</id>
<build>
<filters>
<filter>src/main/resources/filters/dev/database.properties</filter>
</filters>
<resources>
<resource>
<directory>src/main/resources/database</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>env</name>
<value>dev</value>
</property>
</activation>
</profile>
<profile>
<id>test</id>
<build>
<filters>
<filter>src/main/resources/filters/test/database.properties</filter>
</filters>
<resources>
<resource>
<directory>src/main/resources/database</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
<activation>
<property>
<name>env</name>
<value>test</value>
</property>
</activation>
</profile>
<profile>
<id>prod</id>
<build>
<filters>
<filter>src/main/resources/filters/prod/database.properties</filter>
</filters>
<resources>
<resource>
<directory>src/main/resources/database</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
<activation>
<property>
<name>env</name>
<value>prod</value>
</property>
</activation>
</profile>
</profiles>
转自:https://blog.csdn.net/warrenjiang/article/details/50412493